feat: support ignore error and update readme
This commit is contained in:
parent
42205cbb53
commit
6795ef8f80
13
README.md
13
README.md
@ -2,6 +2,17 @@
|
|||||||
|
|
||||||
Send dingding simple notify message.
|
Send dingding simple notify message.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
| option | required | description |
|
||||||
|
| ----------- | -------- | ------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| dingToken | true | DingDing bot access_token |
|
||||||
|
| body | true | any kind of message body [dingding](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) support into `body` field |
|
||||||
|
| secret | false | if secret set, action will call API with sign |
|
||||||
|
| ignoreError | false | if set true, will not fail action when API call failed |
|
||||||
|
|
||||||
|
## Examples
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Send dingding notify
|
- name: Send dingding notify
|
||||||
uses: zcong1993/actions-ding@master
|
uses: zcong1993/actions-ding@master
|
||||||
@ -19,7 +30,7 @@ Send dingding simple notify message.
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## sign
|
### with sign
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- name: Send dingding notify
|
- name: Send dingding notify
|
||||||
|
|||||||
@ -14,6 +14,9 @@ inputs:
|
|||||||
secret:
|
secret:
|
||||||
description: 'If use sign secret'
|
description: 'If use sign secret'
|
||||||
required: false
|
required: false
|
||||||
|
ignoreError:
|
||||||
|
description: 'If set true, will not fail action when API call failed'
|
||||||
|
required: false
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: 'node12'
|
using: 'node12'
|
||||||
|
|||||||
17
dist/index.js
vendored
17
dist/index.js
vendored
@ -394,6 +394,7 @@ function run() {
|
|||||||
const token = core.getInput('dingToken');
|
const token = core.getInput('dingToken');
|
||||||
const body = core.getInput('body');
|
const body = core.getInput('body');
|
||||||
const secretStr = core.getInput('secret');
|
const secretStr = core.getInput('secret');
|
||||||
|
const ignoreError = core.getInput('ignoreError') === 'true';
|
||||||
const secret = secretStr === '' ? undefined : secretStr;
|
const secret = secretStr === '' ? undefined : secretStr;
|
||||||
const data = JSON.parse(body);
|
const data = JSON.parse(body);
|
||||||
if (secret) {
|
if (secret) {
|
||||||
@ -408,12 +409,24 @@ function run() {
|
|||||||
try {
|
try {
|
||||||
const resp = yield dingBot.rawSend(data);
|
const resp = yield dingBot.rawSend(data);
|
||||||
if ((resp === null || resp === void 0 ? void 0 : resp.errcode) !== 0) {
|
if ((resp === null || resp === void 0 ? void 0 : resp.errcode) !== 0) {
|
||||||
core.setFailed(resp === null || resp === void 0 ? void 0 : resp.errmsg);
|
if (ignoreError) {
|
||||||
|
core.warning(resp === null || resp === void 0 ? void 0 : resp.errmsg);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
core.setFailed(resp === null || resp === void 0 ? void 0 : resp.errmsg);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (requestErr) {
|
catch (requestErr) {
|
||||||
core.error(`send request error, status: ${(_a = requestErr.response) === null || _a === void 0 ? void 0 : _a.status}, data: ${(_b = requestErr.response) === null || _b === void 0 ? void 0 : _b.data}`);
|
core.error(`send request error, status: ${(_a = requestErr.response) === null || _a === void 0 ? void 0 : _a.status}, data: ${(_b = requestErr.response) === null || _b === void 0 ? void 0 : _b.data}`);
|
||||||
core.setFailed(requestErr.message);
|
if (ignoreError) {
|
||||||
|
core.warning(requestErr.message);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
core.setFailed(requestErr.message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
|
|||||||
15
src/index.ts
15
src/index.ts
@ -8,6 +8,7 @@ async function run(): Promise<void> {
|
|||||||
const token = core.getInput('dingToken')
|
const token = core.getInput('dingToken')
|
||||||
const body = core.getInput('body')
|
const body = core.getInput('body')
|
||||||
const secretStr = core.getInput('secret')
|
const secretStr = core.getInput('secret')
|
||||||
|
const ignoreError = core.getInput('ignoreError') === 'true'
|
||||||
const secret = secretStr === '' ? undefined : secretStr
|
const secret = secretStr === '' ? undefined : secretStr
|
||||||
const data = JSON.parse(body)
|
const data = JSON.parse(body)
|
||||||
if (secret) {
|
if (secret) {
|
||||||
@ -24,13 +25,23 @@ async function run(): Promise<void> {
|
|||||||
const resp = await dingBot.rawSend(data)
|
const resp = await dingBot.rawSend(data)
|
||||||
|
|
||||||
if (resp?.errcode !== 0) {
|
if (resp?.errcode !== 0) {
|
||||||
core.setFailed(resp?.errmsg)
|
if (ignoreError) {
|
||||||
|
core.warning(resp?.errmsg)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
core.setFailed(resp?.errmsg)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (requestErr) {
|
} catch (requestErr) {
|
||||||
core.error(
|
core.error(
|
||||||
`send request error, status: ${requestErr.response?.status}, data: ${requestErr.response?.data}`
|
`send request error, status: ${requestErr.response?.status}, data: ${requestErr.response?.data}`
|
||||||
)
|
)
|
||||||
core.setFailed(requestErr.message)
|
if (ignoreError) {
|
||||||
|
core.warning(requestErr.message)
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
core.setFailed(requestErr.message)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
core.setFailed(error.message)
|
core.setFailed(error.message)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user