snapmaster-actions

0.1.21 • Public • Published

SnapMaster

SnapMaster

Master your DevOps toolchain

SnapMaster is the definitive DevOps integration platform.

Purpose

This repository contains a well-configured Express-based server for implementing SnapMaster Actions.

This takes almost all of the boilerplate code for implementing a SnapMaster Action as a node server or a Cloud Function.

A SnapMaster Action implements the Action Contract. This includes having an actions.yml file in the root directory which defines the action(s) to export.

snapmaster-actions will take care of exposing the Action Metadata via the /__metadata endpoint, as a JSON representation of the actions.yml file.

This package will also expose all of the actions as HTTP routes. See examples below.

Usage

To install the package:

npm install --save snapmaster-actions

To implement an action as a Cloud Function, here is a sample index.js file:

// import the snapmaster-actions package
const snapmaster = require('snapmaster-actions');

// implement an action called "hello"
function helloHandler(req, res) {
  const { greeting } = req.body;
  res.status(200).send(`hello, ${greeting || "world!"}`);
}

// bind the "hello" action to the "/hello" route, and the "helloHandler" function
exports.snapmaster = snapmaster({
  hello: helloHandler
});

That's it!

actions.yml

The actions.yml file must be present in the root directory. Here is a sample for the hello example above:

---
version: actions-v1alpha1 
name: hello
description: Hello Action
actions:
  - name: hello
    description: return a greeting 
    parameters:
    - name: greeting
      description: greeting to echo
      required: false

Readme

Keywords

none

Package Sidebar

Install

npm i snapmaster-actions

Weekly Downloads

1

Version

0.1.21

License

Apache-2.0

Unpacked Size

3.76 kB

Total Files

5

Last publish

Collaborators

  • ogazitt