Skip to content

rbw/flask-snow

Repository files navigation

https://coveralls.io/repos/github/rbw0/flask-snow/badge.svg?branch=master https://travis-ci.org/rbw0/flask-snow.svg?branch=master

flask-snow

Build apps on top of the ServiceNow REST API using the lightweight Flask microframework

  • Uses the pysnow library.
  • Supports OAuth for a seamless authentication / authorization experience.

Installation

$ pip install flask-snow

Documentation

The documentation can be found here

Usage

Minimal server. Does the following:

  1. Sets config
  2. Creates Snow instance
  3. Queries the incident table by number
  4. Returns JSON representation of the result
from flask import Flask, jsonify
from flask_snow import Snow

app = Flask(__name__)
app.config['SNOW_INSTANCE'] = '<instance name>'
app.config['SNOW_USER'] = '<user name>'
app.config['SNOW_PASSWORD'] = '<password>'

snow = Snow(app)

@app.route('/incidents/<number>')
def incident(number):
    incident = snow.resource(api_path='/table/incident')
    response = incident.get(query={'number': number}).one_or_none() or {}
    return jsonify(response)

if __name__ == '__main__':
    app.run()

Name it server.py and run with python server.py

Check out the examples for more!

Compatibility

  • Python 2 and 3
  • Flask > 0.9

Author

Created by Robert Wikman <rbw@vault13.org> in 2018

JetBrains

Thank you Jetbrains for creating pycharm and for providing me with free licenses