0.0.6 • Public • Published

Openwhisk Action Builder

Library and Commandline tool support for building and deploying OpenWhisk actions.


GitHub license GitHub issues CircleCI codecov Greenkeeper badge LGTM Code Quality Grade: JavaScript


  1. Add this wrapper as dev dependency:

    # Add OpenWhisk wrapper as dependency 
    npm add openwhisk-action-builder
  2. add a build script to your package.json:

    "scripts": {
      "build": "./node_modules/.bin/wsk-builder"
  3. Build the OpenWhisk action

    $ npm run build
    Created action: dist/
  4. Deploy the OpenWhisk action

    $ wsk action update ....

The deploy parameters can be specifies in the CLI via -p. See below.


The command line interface wsk-builder can either be invoked via ./node_modules/.bin/wsk-builder. you can also use npx: npx wsk-builder or install it globally npm install -g openwhisk-action-builder.

$ wsk-builder --help
Operation Options
  --deploy             Automatically deploy to OpenWhisk        [default: false]
  --test               Invoke action after deployment           [default: false]
  --hints, --no-hints  Show additional hints for deployment      [default: true]

OpenWhisk Action Options
  --name             OpenWhisk action name. Can be prefixed with package.
  --kind             Specifies the action kind. eg: nodejs:10-fat  [default: ""]
  --docker           Specifies a docker image.
                                 [default: "tripodsan/probot-ow-nodejs8:latest"]
  --params, -p       Include the given action param. can be json or env.
                                                           [array] [default: []]
  --params-file, -f  Include the given action param from a file; can be json or
                     env.                                  [array] [default: []]

Bundling Options
  --static, -s  Includes a static file into the archive    [array] [default: []]

GitHub Options
  --github-key  Specify the GitHub private key file

  --version      Show version number                                   [boolean]
  --verbose, -v                                                 [default: false]
  --help         Show help                                             [boolean]

for more information, find our manual at

With no arguments,the wsk-builder just bundles your code into the respective

Automatically deploy to openwhisk

When given the --deploy, the wskbot will try to deploy it ot OpenWhisk using the settings from ~/.wskprops. Alternatively, you can also set the WSK_NAMESPACE, WSK_AUTH, WSK_APIHOST in your environment or .env file.

$ wsk-builder --deploy --no-hints
ok: created action: dist/
ok: updated action tripod/my-example

Automatically test the deployed action

In order to quickly test the deployed action, wsk-builder can send a GET request to the action url.

$ wsk-builder --deploy --no-hints --test
ok: created action: dist/
ok: updated action tripod/my-example
--: requesting: ...
ok: 200

Including action parameters

Action parameters can be defined via -p, either as json on env string, or json or env file.


# specify as env string
wskbot -p MY_TOKEN=1234 -p MY_PWD=foo

# specify as json string
wskbot -p '{ "MY_TOKEN": 1234, "MY_PWD": "foo" }'

# specify as env file
wskbot -p .env

# specify as json file
wskbot -p params.json

# and a combination of the above
wskbot -p .env -p params.json -p MY_TOKEN=123

Including static files

Adding static files, i.e. files that are not referenced from the index.js and detected by webpack, can be done via the -s parameter. they are always put into the root directory of the archive.


# include an image
wsk-builder -s logo.png

Specifying arguments in the package.json

Instead of passing all the arguments via command line, you can also specify them in the package.json in the wsk object. eg:

  "scripts": {
    "build": "./node_modules/.bin/wsk-builder -v",
    "deploy": "./node_modules/.bin/wsk-builder -v --deploy --test"
  "wsk": {
    "name": "my-test-action",
    "params-file": [
    "externals": [
    "docker": "tripodsan/probot-ow-nodejs8:latest"



The action is created using webpack to create bundle for the sources and then creates a zip archive with the bundle, a package.json, the private key files and the .env.


If you have suggestions for how this OpenWhisk probot wrapper could be improved, or want to report a bug, open an issue! We'd love all and any contributions.

For more, check out the Contributing Guide.



Package Sidebar


npm i openwhisk-action-builder

Weekly Downloads






Unpacked Size

83.7 kB

Total Files


Last publish


  • tripod