You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openwhisk.apache.org by GitBox <gi...@apache.org> on 2018/01/01 15:38:57 UTC
[GitHub] upgle opened a new pull request #3138: Add bash kind action
upgle opened a new pull request #3138: Add bash kind action
URL: https://github.com/apache/incubator-openwhisk/pull/3138
This is a new bash kind action. Related issue is #2927.
bash action runtime is based on `openwhisk/dockerskeleton` and action proxy is overrided for bash script. also added jq to handle json in bash script
## How to use
```
cat <<EOF > exec
#!/bin/bash
echo \$_test
EOF
```
It returns only the last line, supports auto boxing. (no need to make json object in script)
```
$ wsk -i action update test exec --kind bash
ok: updated action test
$ wsk -i action invoke hello -r -p test "Hello World!"
{
"result": "Hello World!"
}
```
## Using parameters easily
The parameters are easy to use as environment variables in bash scripts. access parameters using environment variables is more intuitive and easier to use.
[sungjunyoung/openwhisk-bashAction](https://github.com/sungjunyoung/openwhisk-bashAction), This is the repository in which it is implemented
1. Object
```json
{
"key":{
"key1":"value1",
"key2":"value2"
}
}
```
```bash
#!/bin/bash
echo $_key_key1
echo $_key_key2
```
2. List
```
{
"key":[
{"first":"value1"},
{"second":"value2"}
]
}
```
```bash
#!/bin/bash
echo $_key_0_first
echo $_key_1_second
```
3. also can be access theme using jq, jq is aleady installed.
```bash
#!/bin/bash
ARGS=$@
A=`echo "$ARGS" | jq '."a"'`
B=`echo "$ARGS" | jq '."b"'`
C=`echo "$ARGS" | jq '."c"[0]'`
RES=$(($B + $C))
```
## Testing
```
./gradlew tests:test --tests actionContainers.BashActionContainerTests
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services