-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,74 @@ | ||
# actions-sms | ||
Plivo github actions | ||
# Plivo SMS GitHub Action | ||
|
||
This action can be applied to your workflow and will enable you to send an SMS in any scenario you wish. | ||
|
||
## Prerequisites | ||
|
||
- A Plivo Account. [Sign up for free](https://console.plivo.com/accounts/register/) | ||
- A [Plivo Auth_ID and Auth_Token](https://console.plivo.com/dashboard/) | ||
|
||
## Usage | ||
|
||
1. Set up your credentials as [secrets](https://docs.github.com/en/actions/reference/encrypted-secrets) in your repository settings using `PLIVO_AUTH_ID`, `PLIVO_AUTH_TOKEN`, `FROM_NUMBER`,`TO_NUMBER` | ||
|
||
2. Add the following to your workflow | ||
|
||
```yml | ||
- name: 'Sending SMS Notification' | ||
uses: plivo/action-sms@v1 | ||
with: | ||
fromPhoneNumber: ${{ secrets.FROM_NUMBER }} | ||
toPhoneNumber: ${{ secrets.TO_NUMBER }} | ||
message: '💡There has been new release to ${{ github.repository }}' | ||
env: | ||
PLIVO_AUTH_ID: ${{ secrets.PLIVO_AUTH_ID }} | ||
PLIVO_AUTH_TOKEN: ${{ secrets.PLIVO_AUTH_TOKEN }} | ||
``` | ||
## Inputs | ||
### `fromPhoneNumber` | ||
|
||
**Required** The Phone number in your Plivo account to send SMS from, which is stored as [secret](https://docs.github.com/en/actions/reference/encrypted-secrets) and can also be hardcoded. | ||
|
||
### `toPhoneNumber` | ||
|
||
**Required** The phone number to which SMS must be sent, is stored as a [secret](https://docs.github.com/en/actions/reference/encrypted-secrets) and can also be hardcoded. | ||
|
||
### `message` | ||
|
||
**Required** The text message you want to send. | ||
|
||
### `PLIVO_AUTH_ID` | ||
|
||
A Plivo Auth_ID. To be stored in [secret](https://docs.github.com/en/actions/reference/environments) or as an environment variable. | ||
|
||
### `PLIVO_AUTH_TOKEN` | ||
|
||
A Plivo Auth_Token. To be stored in [secret](https://docs.github.com/en/actions/reference/environments) or as an environment variable. | ||
|
||
## Outputs | ||
|
||
Plivo returns a JSON response acknowledging the message. | ||
### `Sample Output` | ||
|
||
``` | ||
MessageResponse { | ||
apiId: 'de46ab04-b21d-11eb-80f8-0242ac110006', | ||
message: 'message(s) queued', | ||
messageUuid: [ 'de485472-b21d-11eb-80f8-0242ac110006' ] | ||
} | ||
``` | ||
## Contributing | ||
## Third Party Licenses | ||
This GitHub Action uses a couple of Node.js modules to work. | ||
License and other copyright information for each module are included in the release branch of each action version under `node_modules/{module}`. | ||
More information for each package can be found at `https://www.npmjs.com/package/{package}` | ||
## License | ||
[](https://lbesson.mit-license.org/) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
name: 'Plivo SMS' | ||
author: 'Plivo' | ||
description: 'Send an SMS from GitHub Actions using Plivo Programmable SMS' | ||
inputs: | ||
fromPhoneNumber: | ||
description: 'The Phone number in your Plivo account to send SMS from, which is stored as secret and can also be hardcoded.' | ||
required: true | ||
toPhoneNumber: | ||
description: 'The phone number to which SMS must be sent, is stored as a secret and can also be hardcoded.' | ||
required: true | ||
message: | ||
description: 'The message you want to send' | ||
required: true | ||
PLIVO_AUTH_ID: | ||
description: 'A Plivo Auth_ID. To be stored in secret or as an environment variable.' | ||
required: true | ||
PLIVO_AUTH_TOKEN: | ||
description: 'A Plivo Auth_Token. To be stored in secret or as an environment variable.' | ||
required: true | ||
outputs: | ||
MessageResponse: | ||
description: 'Plivo returns a JSON response acknowledging the message.' | ||
runs: | ||
using: 'node12' | ||
main: 'dist/main.js' | ||
branding: | ||
color: 'green' | ||
icon: 'message-circle' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
"use strict"; | ||
const core = require("@actions/core"); | ||
const plivo = require("plivo"); | ||
async function run() { | ||
const from = core.getInput("fromPhoneNumber"); | ||
const to = core.getInput("toPhoneNumber"); | ||
const message = core.getInput("message"); | ||
core.debug(from, to, message); | ||
const auth_id = core.getInput("PLIVO_AUTH_ID") || process.env.PLIVO_AUTH_ID; | ||
const auth_token = core.getInput("PLIVO_AUTH_TOKEN") || process.env.PLIVO_AUTH_TOKEN; | ||
var client = new plivo.Client(auth_id, auth_token); | ||
var response = client.messages.create(from, to, message).then(function (response) { | ||
console.log(response); | ||
}, function (error) { | ||
console.error(error); | ||
}); | ||
return response; | ||
} | ||
async function execute() { | ||
try { | ||
return await run(); | ||
} | ||
catch ({ message }) { | ||
core.error("Failed to send message", message); | ||
core.setFailed(message); | ||
} | ||
} | ||
module.exports = execute; | ||
execute(); |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.