Skip to content

Slalom-Consulting/tap-ms-graph

Repository files navigation

tap-ms-graph

tap-ms-graph is a Singer tap for MSGraph.

Built with the Meltano Tap SDK for Singer Taps and the Microsoft Graph API reference.

Install from GitHub:

pipx install git+https://github.com/Slalom-Consulting/tap-ms-graph.git@main

Configuration

Accepted Config Options

Setting Required Default Description
tenant True None The directory tenant that you want to request permission from. The value can be in GUID or a friendly name format.
client_id True None The application ID that the Azure app registration portal assigned when you registered your app.
client_secret True None The client secret that you generated for your app in the app registration portal.
stream_config False None Custom configuration for streams.
include_odata_type False False Include '@odata_type' field when returned from API.
api_version False v1.0 The version of the Microsoft Graph API to use
auth_url False None Override the Azure AD authentication base URL. Required if using a national cloud.
api_url False None Override the Graph API service base URL. Required if using a national cloud.

A full list of supported settings and capabilities for this tap is available by running:

tap-ms-graph --about

Custom Stream Configuration

Many streams support advanced query capabilities (eg. $count, $select, $filter, $search, $orderby, ...) and can be added to the tap configuration stream parameters:

{
    "stream_config": {
        "name_of_stream": {
            "parameters": "url_query_string"
        }
    }
}

Configure using environment variables

This Singer tap will automatically import any environment variables within the working directory's .env if the --config=ENV is provided, such that config values will be considered if a matching environment variable is set either in the terminal context or in the .env file.

Usage

You can easily run tap-ms-graph by itself or in a pipeline using Meltano.

Executing the Tap Directly

tap-ms-graph --version
tap-ms-graph --help
tap-ms-graph --config CONFIG --discover > ./catalog.json

Developer Resources

Follow these instructions to contribute to this project.

Initialize your Development Environment

pipx install poetry
poetry install

Create and Run Tests

Create tests within the tap_ms_graph/tests subfolder and then run:

poetry run pytest

You can also test the tap-ms-graph CLI interface directly using poetry run:

poetry run tap-ms-graph --help

Testing with Meltano

Note: This tap will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.

Next, install Meltano (if you haven't already) and any needed plugins:

# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-ms-graph
meltano install

Now you can test and orchestrate using Meltano:

# Test invocation:
meltano invoke tap-ms-graph --version
# OR run a test `elt` pipeline:
meltano elt tap-ms-graph target-jsonl

SDK Dev Guide

See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.