mirror of
https://github.com/seepine/action-wechat-work.git
synced 2025-01-18 21:36:41 +08:00
feat: 支持模板卡片类型消息;升级依赖;异常处理优化;
This commit is contained in:
parent
46370aa1f7
commit
07415b7499
20
.github/workflows/main.yml
vendored
20
.github/workflows/main.yml
vendored
@ -15,7 +15,7 @@ jobs:
|
|||||||
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
||||||
with:
|
with:
|
||||||
msgtype: text
|
msgtype: text
|
||||||
content: 广州今日天气:29度,大部分多云,降雨概率:60%
|
content: "广州今日天气:29度,大部分多云,降雨概率:60%"
|
||||||
mentioned_list: '["@all"]'
|
mentioned_list: '["@all"]'
|
||||||
|
|
||||||
# markdown类型
|
# markdown类型
|
||||||
@ -57,3 +57,21 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
msgtype: file
|
msgtype: file
|
||||||
media_id: 2eNNDDAZxBnhGvz_KafNtCGC5lZOwJraS5BEe8EvzNAncouNQQrAghfE47uV5RGrg
|
media_id: 2eNNDDAZxBnhGvz_KafNtCGC5lZOwJraS5BEe8EvzNAncouNQQrAghfE47uV5RGrg
|
||||||
|
|
||||||
|
# 模版卡片类型 - 文本通知模版卡片
|
||||||
|
- name: WeChat Work notification by template_card.text_notice
|
||||||
|
uses: chf007/action-wechat-work@master
|
||||||
|
env:
|
||||||
|
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
||||||
|
with:
|
||||||
|
msgtype: template_card
|
||||||
|
template_card: '{"card_type":"text_notice","source":{"icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0","desc":"企业微信","desc_color":0},"main_title":{"title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信"},"emphasis_content":{"title":"100","desc":"数据含义"},"quote_area":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH","title":"引用文本标题","quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"},"sub_title_text":"下载企业微信还能抢红包!","horizontal_content_list":[{"keyname":"邀请人","value":"张三"},{"keyname":"企微官网","value":"点击访问","type":1,"url":"https://work.weixin.qq.com/?from=openApi"},{"keyname":"企微下载","value":"企业微信.apk","type":2,"media_id":"MEDIAID"}],"jump_list":[{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","title":"企业微信官网"},{"type":2,"appid":"APPID","pagepath":"PAGEPATH","title":"跳转小程序"}],"card_action":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH"}}'
|
||||||
|
|
||||||
|
# 模版卡片类型 - 图文展示模版卡片
|
||||||
|
- name: WeChat Work notification by template_card.news_notice
|
||||||
|
uses: chf007/action-wechat-work@master
|
||||||
|
env:
|
||||||
|
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
||||||
|
with:
|
||||||
|
msgtype: template_card
|
||||||
|
template_card: '{"card_type":"news_notice","source":{"icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0","desc":"企业微信","desc_color":0},"main_title":{"title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信"},"card_image":{"url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0","aspect_ratio":2.25},"image_text_area":{"type":1,"url":"https://work.weixin.qq.com","title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信","image_url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0"},"quote_area":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH","title":"引用文本标题","quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"},"vertical_content_list":[{"title":"惊喜红包等你来拿","desc":"下载企业微信还能抢红包!"}],"horizontal_content_list":[{"keyname":"邀请人","value":"张三"},{"keyname":"企微官网","value":"点击访问","type":1,"url":"https://work.weixin.qq.com/?from=openApi"},{"keyname":"企微下载","value":"企业微信.apk","type":2,"media_id":"MEDIAID"}],"jump_list":[{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","title":"企业微信官网"},{"type":2,"appid":"APPID","pagepath":"PAGEPATH","title":"跳转小程序"}],"card_action":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH"}}'
|
||||||
|
41
README.md
41
README.md
@ -19,7 +19,7 @@
|
|||||||
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
||||||
with:
|
with:
|
||||||
msgtype: text
|
msgtype: text
|
||||||
content: 广州今日天气:29 度,大部分多云,降雨概率:60%
|
content: "广州今日天气:29 度,大部分多云,降雨概率:60%"
|
||||||
mentioned_list: '["wangqing","@all"]'
|
mentioned_list: '["wangqing","@all"]'
|
||||||
mentioned_mobile_list: '["13800001111","@all"]'
|
mentioned_mobile_list: '["13800001111","@all"]'
|
||||||
```
|
```
|
||||||
@ -115,6 +115,45 @@
|
|||||||
| msgtype | true | 消息类型,此时固定为 file |
|
| msgtype | true | 消息类型,此时固定为 file |
|
||||||
| media_id | true | 文件 id,通过 [文件上传接口](https://work.weixin.qq.com/api/doc/90000/90136/91770) 获取 |
|
| media_id | true | 文件 id,通过 [文件上传接口](https://work.weixin.qq.com/api/doc/90000/90136/91770) 获取 |
|
||||||
|
|
||||||
|
### 模版卡片类型消息 - 文本通知模版卡片
|
||||||
|
|
||||||
|
![WeChat Work message](./docs/wechat-work-msg-text-notice.webp "WeChat Work message")
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: WeChat Work notification by template_card.text_notice
|
||||||
|
uses: chf007/action-wechat-work@master
|
||||||
|
env:
|
||||||
|
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
||||||
|
with:
|
||||||
|
msgtype: template_card
|
||||||
|
template_card: '{"card_type":"text_notice","source":{"icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0","desc":"企业微信","desc_color":0},"main_title":{"title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信"},"emphasis_content":{"title":"100","desc":"数据含义"},"quote_area":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH","title":"引用文本标题","quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"},"sub_title_text":"下载企业微信还能抢红包!","horizontal_content_list":[{"keyname":"邀请人","value":"张三"},{"keyname":"企微官网","value":"点击访问","type":1,"url":"https://work.weixin.qq.com/?from=openApi"},{"keyname":"企微下载","value":"企业微信.apk","type":2,"media_id":"MEDIAID"}],"jump_list":[{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","title":"企业微信官网"},{"type":2,"appid":"APPID","pagepath":"PAGEPATH","title":"跳转小程序"}],"card_action":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH"}}'
|
||||||
|
```
|
||||||
|
|
||||||
|
| 参数 | 必须 | 说明 |
|
||||||
|
|---------|------|-----------------------------------------------------------------------------------------------------|
|
||||||
|
| msgtype | true | 消息类型,此时固定为 template_card |
|
||||||
|
| template_card | true | 模版卡片参数,必须是序列化后的 JSON 字符串,参数详见 https://developer.work.weixin.qq.com/document/path/91770#%E6%A8%A1%E7%89%88%E5%8D%A1%E7%89%87%E7%B1%BB%E5%9E%8B |
|
||||||
|
|
||||||
|
### 模版卡片类型消息 - 图文展示模版卡片
|
||||||
|
|
||||||
|
![WeChat Work message](./docs/wechat-work-msg-news-notice.webp "WeChat Work message")
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: WeChat Work notification by template_card.news_notice
|
||||||
|
uses: chf007/action-wechat-work@master
|
||||||
|
env:
|
||||||
|
WECHAT_WORK_BOT_WEBHOOK: ${{secrets.WECHAT_WORK_BOT_WEBHOOK}}
|
||||||
|
with:
|
||||||
|
msgtype: template_card
|
||||||
|
template_card: '{"card_type":"news_notice","source":{"icon_url":"https://wework.qpic.cn/wwpic/252813_jOfDHtcISzuodLa_1629280209/0","desc":"企业微信","desc_color":0},"main_title":{"title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信"},"card_image":{"url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0","aspect_ratio":2.25},"image_text_area":{"type":1,"url":"https://work.weixin.qq.com","title":"欢迎使用企业微信","desc":"您的好友正在邀请您加入企业微信","image_url":"https://wework.qpic.cn/wwpic/354393_4zpkKXd7SrGMvfg_1629280616/0"},"quote_area":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH","title":"引用文本标题","quote_text":"Jack:企业微信真的很好用~\nBalian:超级好的一款软件!"},"vertical_content_list":[{"title":"惊喜红包等你来拿","desc":"下载企业微信还能抢红包!"}],"horizontal_content_list":[{"keyname":"邀请人","value":"张三"},{"keyname":"企微官网","value":"点击访问","type":1,"url":"https://work.weixin.qq.com/?from=openApi"},{"keyname":"企微下载","value":"企业微信.apk","type":2,"media_id":"MEDIAID"}],"jump_list":[{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","title":"企业微信官网"},{"type":2,"appid":"APPID","pagepath":"PAGEPATH","title":"跳转小程序"}],"card_action":{"type":1,"url":"https://work.weixin.qq.com/?from=openApi","appid":"APPID","pagepath":"PAGEPATH"}}'
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
| 参数 | 必须 | 说明 |
|
||||||
|
|---------|------|-----------------------------------------------------------------------------------------------------|
|
||||||
|
| msgtype | true | 消息类型,此时固定为 template_card |
|
||||||
|
| template_card | true | 模版卡片参数,必须是序列化后的 JSON 字符串,参数详见 https://developer.work.weixin.qq.com/document/path/91770#%E6%A8%A1%E7%89%88%E5%8D%A1%E7%89%87%E7%B1%BB%E5%9E%8B |
|
||||||
|
|
||||||
### WECHAT_WORK_BOT_WEBHOOK
|
### WECHAT_WORK_BOT_WEBHOOK
|
||||||
|
|
||||||
* **`WECHAT_WORK_BOT_WEBHOOK`**: 企业微信 Webhook URL (**required**)
|
* **`WECHAT_WORK_BOT_WEBHOOK`**: 企业微信 Webhook URL (**required**)
|
||||||
|
123
README.zh-CN.md
123
README.zh-CN.md
File diff suppressed because one or more lines are too long
@ -8,7 +8,7 @@ branding:
|
|||||||
|
|
||||||
inputs:
|
inputs:
|
||||||
msgtype:
|
msgtype:
|
||||||
description: '消息类型,当前支持 text markdown image news file'
|
description: '消息类型,当前支持 text markdown image news file template_card'
|
||||||
required: true
|
required: true
|
||||||
content:
|
content:
|
||||||
description: '当 msgtype=text 时:文本内容,最长不超过 2048 个字节,必须是 utf8 编码;当 msgtype=text 时:markdown 内容,最长不超过 4096 个字节,必须是 utf8 编码 支持的格式详见 https://work.weixin.qq.com/api/doc/90000/90136/91770'
|
description: '当 msgtype=text 时:文本内容,最长不超过 2048 个字节,必须是 utf8 编码;当 msgtype=text 时:markdown 内容,最长不超过 4096 个字节,必须是 utf8 编码 支持的格式详见 https://work.weixin.qq.com/api/doc/90000/90136/91770'
|
||||||
@ -31,6 +31,9 @@ inputs:
|
|||||||
media_id:
|
media_id:
|
||||||
description: '文件 id,通过 [文件上传接口](https://work.weixin.qq.com/api/doc/90000/90136/91770) 获取'
|
description: '文件 id,通过 [文件上传接口](https://work.weixin.qq.com/api/doc/90000/90136/91770) 获取'
|
||||||
required: false
|
required: false
|
||||||
|
template_card:
|
||||||
|
description: '模版卡片参数,必须是序列化后的 JSON 字符串,参数详见 https://developer.work.weixin.qq.com/document/path/91770#%E6%A8%A1%E7%89%88%E5%8D%A1%E7%89%87%E7%B1%BB%E5%9E%8B'
|
||||||
|
required: false
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'node16'
|
using: 'node16'
|
||||||
|
504
dist/index.js
vendored
504
dist/index.js
vendored
File diff suppressed because it is too large
Load Diff
BIN
docs/wechat-work-msg-news-notice.webp
Normal file
BIN
docs/wechat-work-msg-news-notice.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 146 KiB |
BIN
docs/wechat-work-msg-text-notice.webp
Normal file
BIN
docs/wechat-work-msg-text-notice.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 131 KiB |
175
package-lock.json
generated
175
package-lock.json
generated
@ -1,175 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "action-wechat-work",
|
|
||||||
"version": "1.0.7",
|
|
||||||
"lockfileVersion": 2,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"": {
|
|
||||||
"name": "action-wechat-work",
|
|
||||||
"version": "1.0.7",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"axios": "^0.27.1"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@vercel/ncc": "^0.33.4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@vercel/ncc": {
|
|
||||||
"version": "0.33.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz",
|
|
||||||
"integrity": "sha512-ln18hs7dMffelP47tpkaR+V5Tj6coykNyxJrlcmCormPqRQjB/Gv4cu2FfBG+PMzIfdZp2CLDsrrB1NPU22Qhg==",
|
|
||||||
"dev": true,
|
|
||||||
"bin": {
|
|
||||||
"ncc": "dist/ncc/cli.js"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/asynckit": {
|
|
||||||
"version": "0.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
||||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
|
||||||
},
|
|
||||||
"node_modules/axios": {
|
|
||||||
"version": "0.27.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.1.tgz",
|
|
||||||
"integrity": "sha512-ePNMai55xo5GsXajb/k756AqZqpqeDaGwGcdvbZLSSELbbYwsIn2jNmGfUPEwd8j/yu4OoMstLLIVa4t0MneEA==",
|
|
||||||
"dependencies": {
|
|
||||||
"follow-redirects": "^1.14.9",
|
|
||||||
"form-data": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/combined-stream": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
||||||
"dependencies": {
|
|
||||||
"delayed-stream": "~1.0.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.8"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/delayed-stream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.4.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/follow-redirects": {
|
|
||||||
"version": "1.14.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
|
|
||||||
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==",
|
|
||||||
"funding": [
|
|
||||||
{
|
|
||||||
"type": "individual",
|
|
||||||
"url": "https://github.com/sponsors/RubenVerborgh"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4.0"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"debug": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/form-data": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
|
||||||
"dependencies": {
|
|
||||||
"asynckit": "^0.4.0",
|
|
||||||
"combined-stream": "^1.0.8",
|
|
||||||
"mime-types": "^2.1.12"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mime-db": {
|
|
||||||
"version": "1.52.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/mime-types": {
|
|
||||||
"version": "2.1.35",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
|
||||||
"dependencies": {
|
|
||||||
"mime-db": "1.52.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"@vercel/ncc": {
|
|
||||||
"version": "0.33.4",
|
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/ncc/-/ncc-0.33.4.tgz",
|
|
||||||
"integrity": "sha512-ln18hs7dMffelP47tpkaR+V5Tj6coykNyxJrlcmCormPqRQjB/Gv4cu2FfBG+PMzIfdZp2CLDsrrB1NPU22Qhg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"asynckit": {
|
|
||||||
"version": "0.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
|
|
||||||
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
|
|
||||||
},
|
|
||||||
"axios": {
|
|
||||||
"version": "0.27.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.27.1.tgz",
|
|
||||||
"integrity": "sha512-ePNMai55xo5GsXajb/k756AqZqpqeDaGwGcdvbZLSSELbbYwsIn2jNmGfUPEwd8j/yu4OoMstLLIVa4t0MneEA==",
|
|
||||||
"requires": {
|
|
||||||
"follow-redirects": "^1.14.9",
|
|
||||||
"form-data": "^4.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"combined-stream": {
|
|
||||||
"version": "1.0.8",
|
|
||||||
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
|
|
||||||
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
||||||
"requires": {
|
|
||||||
"delayed-stream": "~1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"delayed-stream": {
|
|
||||||
"version": "1.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
|
|
||||||
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
|
|
||||||
},
|
|
||||||
"follow-redirects": {
|
|
||||||
"version": "1.14.9",
|
|
||||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz",
|
|
||||||
"integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w=="
|
|
||||||
},
|
|
||||||
"form-data": {
|
|
||||||
"version": "4.0.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
|
|
||||||
"integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
|
||||||
"requires": {
|
|
||||||
"asynckit": "^0.4.0",
|
|
||||||
"combined-stream": "^1.0.8",
|
|
||||||
"mime-types": "^2.1.12"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"mime-db": {
|
|
||||||
"version": "1.52.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
|
|
||||||
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
|
|
||||||
},
|
|
||||||
"mime-types": {
|
|
||||||
"version": "2.1.35",
|
|
||||||
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
|
|
||||||
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
|
||||||
"requires": {
|
|
||||||
"mime-db": "1.52.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "action-wechat-work",
|
"name": "action-wechat-work",
|
||||||
"version": "1.0.7",
|
"version": "1.0.8",
|
||||||
"description": "GitHub Action that sends a WeChat Work notification.",
|
"description": "GitHub Action that sends a WeChat Work notification.",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -25,9 +25,9 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://github.com/chf007/action-wechat-work#readme",
|
"homepage": "https://github.com/chf007/action-wechat-work#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.27.1"
|
"axios": "^0.27.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vercel/ncc": "^0.33.4"
|
"@vercel/ncc": "^0.34.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
74
pnpm-lock.yaml
generated
Normal file
74
pnpm-lock.yaml
generated
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
lockfileVersion: 5.4
|
||||||
|
|
||||||
|
specifiers:
|
||||||
|
'@vercel/ncc': ^0.34.0
|
||||||
|
axios: ^0.27.2
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
axios: 0.27.2
|
||||||
|
|
||||||
|
devDependencies:
|
||||||
|
'@vercel/ncc': 0.34.0
|
||||||
|
|
||||||
|
packages:
|
||||||
|
|
||||||
|
/@vercel/ncc/0.34.0:
|
||||||
|
resolution: {integrity: sha512-G9h5ZLBJ/V57Ou9vz5hI8pda/YQX5HQszCs3AmIus3XzsmRn/0Ptic5otD3xVST8QLKk7AMk7AqpsyQGN7MZ9A==}
|
||||||
|
hasBin: true
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/asynckit/0.4.0:
|
||||||
|
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/axios/0.27.2:
|
||||||
|
resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==}
|
||||||
|
dependencies:
|
||||||
|
follow-redirects: 1.15.2
|
||||||
|
form-data: 4.0.0
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- debug
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/combined-stream/1.0.8:
|
||||||
|
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
|
||||||
|
engines: {node: '>= 0.8'}
|
||||||
|
dependencies:
|
||||||
|
delayed-stream: 1.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/delayed-stream/1.0.0:
|
||||||
|
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
|
||||||
|
engines: {node: '>=0.4.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/follow-redirects/1.15.2:
|
||||||
|
resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
peerDependencies:
|
||||||
|
debug: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
debug:
|
||||||
|
optional: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/form-data/4.0.0:
|
||||||
|
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dependencies:
|
||||||
|
asynckit: 0.4.0
|
||||||
|
combined-stream: 1.0.8
|
||||||
|
mime-types: 2.1.35
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/mime-db/1.52.0:
|
||||||
|
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
|
||||||
|
engines: {node: '>= 0.6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/mime-types/2.1.35:
|
||||||
|
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
|
||||||
|
engines: {node: '>= 0.6'}
|
||||||
|
dependencies:
|
||||||
|
mime-db: 1.52.0
|
||||||
|
dev: false
|
@ -5,6 +5,11 @@ const payload = {};
|
|||||||
if (process.env.INPUT_MSGTYPE === 'text') {
|
if (process.env.INPUT_MSGTYPE === 'text') {
|
||||||
|
|
||||||
payload.msgtype = process.env.INPUT_MSGTYPE;
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
||||||
|
|
||||||
|
if (!process.env.INPUT_CONTENT) {
|
||||||
|
console.log(`[action-wechat-work] INPUT_CONTENT is blank: ${process.env.INPUT_CONTENT}`);
|
||||||
|
}
|
||||||
|
|
||||||
payload.text = {
|
payload.text = {
|
||||||
content: process.env.INPUT_CONTENT,
|
content: process.env.INPUT_CONTENT,
|
||||||
};
|
};
|
||||||
@ -15,6 +20,7 @@ if (process.env.INPUT_MSGTYPE === 'text') {
|
|||||||
mentioned_list = JSON.parse(process.env.INPUT_MENTIONED_LIST);
|
mentioned_list = JSON.parse(process.env.INPUT_MENTIONED_LIST);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
mentioned_list = [];
|
mentioned_list = [];
|
||||||
|
console.log(`[action-wechat-work] INPUT_MENTIONED_LIST JSON.parse error: ${error}, JSON string: ${process.env.INPUT_MENTIONED_LIST}`);
|
||||||
}
|
}
|
||||||
payload.text.mentioned_list = mentioned_list;
|
payload.text.mentioned_list = mentioned_list;
|
||||||
}
|
}
|
||||||
@ -25,6 +31,7 @@ if (process.env.INPUT_MSGTYPE === 'text') {
|
|||||||
mentioned_mobile_list = JSON.parse(process.env.INPUT_MENTIONED_MOBILE_LIST);
|
mentioned_mobile_list = JSON.parse(process.env.INPUT_MENTIONED_MOBILE_LIST);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
mentioned_mobile_list = [];
|
mentioned_mobile_list = [];
|
||||||
|
console.log(`[action-wechat-work] INPUT_MENTIONED_MOBILE_LIST JSON.parse error: ${error}, JSON string: ${process.env.INPUT_MENTIONED_MOBILE_LIST}`);
|
||||||
}
|
}
|
||||||
payload.text.mentioned_mobile_list = mentioned_mobile_list;
|
payload.text.mentioned_mobile_list = mentioned_mobile_list;
|
||||||
}
|
}
|
||||||
@ -34,6 +41,11 @@ if (process.env.INPUT_MSGTYPE === 'text') {
|
|||||||
if (process.env.INPUT_MSGTYPE === 'markdown') {
|
if (process.env.INPUT_MSGTYPE === 'markdown') {
|
||||||
|
|
||||||
payload.msgtype = process.env.INPUT_MSGTYPE;
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
||||||
|
|
||||||
|
if (!process.env.INPUT_CONTENT) {
|
||||||
|
console.log(`[action-wechat-work] INPUT_CONTENT is blank: ${process.env.INPUT_CONTENT}`);
|
||||||
|
}
|
||||||
|
|
||||||
payload.markdown = {
|
payload.markdown = {
|
||||||
content: process.env.INPUT_CONTENT,
|
content: process.env.INPUT_CONTENT,
|
||||||
};
|
};
|
||||||
@ -43,6 +55,15 @@ if (process.env.INPUT_MSGTYPE === 'markdown') {
|
|||||||
if (process.env.INPUT_MSGTYPE === 'image') {
|
if (process.env.INPUT_MSGTYPE === 'image') {
|
||||||
|
|
||||||
payload.msgtype = process.env.INPUT_MSGTYPE;
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
||||||
|
|
||||||
|
if (!process.env.INPUT_BASE64) {
|
||||||
|
console.log(`[action-wechat-work] INPUT_BASE64 is blank: ${process.env.INPUT_BASE64}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!process.env.INPUT_MD5) {
|
||||||
|
console.log(`[action-wechat-work] INPUT_MD5 is blank: ${process.env.INPUT_MD5}`);
|
||||||
|
}
|
||||||
|
|
||||||
payload.image = {
|
payload.image = {
|
||||||
base64: process.env.INPUT_BASE64,
|
base64: process.env.INPUT_BASE64,
|
||||||
md5: process.env.INPUT_MD5,
|
md5: process.env.INPUT_MD5,
|
||||||
@ -59,6 +80,7 @@ if (process.env.INPUT_MSGTYPE === 'news') {
|
|||||||
articles = JSON.parse(process.env.INPUT_ARTICLES);
|
articles = JSON.parse(process.env.INPUT_ARTICLES);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
articles = [];
|
articles = [];
|
||||||
|
console.log(`[action-wechat-work] INPUT_ARTICLES JSON.parse error: ${error}, JSON string: ${process.env.INPUT_ARTICLES}`);
|
||||||
}
|
}
|
||||||
payload.news = {
|
payload.news = {
|
||||||
articles,
|
articles,
|
||||||
@ -69,30 +91,49 @@ if (process.env.INPUT_MSGTYPE === 'news') {
|
|||||||
if (process.env.INPUT_MSGTYPE === 'file') {
|
if (process.env.INPUT_MSGTYPE === 'file') {
|
||||||
|
|
||||||
payload.msgtype = process.env.INPUT_MSGTYPE;
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
||||||
|
|
||||||
|
if (!process.env.INPUT_MEDIA_ID) {
|
||||||
|
console.log(`[action-wechat-work] INPUT_MEDIA_ID is blank: ${process.env.INPUT_MEDIA_ID}`);
|
||||||
|
}
|
||||||
|
|
||||||
payload.file = {
|
payload.file = {
|
||||||
media_id: process.env.INPUT_MEDIA_ID,
|
media_id: process.env.INPUT_MEDIA_ID,
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('The message content in JSON format...');
|
if (process.env.INPUT_MSGTYPE === 'template_card') {
|
||||||
console.log(JSON.stringify(payload));
|
|
||||||
|
payload.msgtype = process.env.INPUT_MSGTYPE;
|
||||||
|
|
||||||
|
let template_card;
|
||||||
|
try {
|
||||||
|
template_card = JSON.parse(process.env.INPUT_TEMPLATE_CARD);
|
||||||
|
} catch (error) {
|
||||||
|
template_card = {};
|
||||||
|
console.log(`[action-wechat-work] INPUT_TEMPLATE_CARD JSON.parse error: ${error}, JSON string: ${process.env.INPUT_TEMPLATE_CARD}`);
|
||||||
|
}
|
||||||
|
payload.template_card = template_card;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('[action-wechat-work] The message content in JSON format...', JSON.stringify(payload));
|
||||||
|
|
||||||
const url = process.env.WECHAT_WORK_BOT_WEBHOOK;
|
const url = process.env.WECHAT_WORK_BOT_WEBHOOK;
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
console.log('Sending message ...');
|
console.log('[action-wechat-work] Sending message ...');
|
||||||
await axios.post(url, JSON.stringify(payload), {
|
await axios.post(url, JSON.stringify(payload), {
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
console.log('Message sent Success! Shutting down ...');
|
console.log('[action-wechat-work] Message sent Success! Shutting down ...');
|
||||||
process.exit(0);
|
process.exit(0);
|
||||||
})()
|
})()
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error('Message sent error:');
|
console.error('[action-wechat-work] Message sent error:');
|
||||||
err.message && console.error(err.message);
|
err.message && console.error(`[action-wechat-work] err.message: ${err.message}`);
|
||||||
err.response && err.response.data && console.error(err.response.data);
|
err.response && err.response.data && console.error(`[action-wechat-work] err.response.data: ${err.response.data}`);
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user