Gatsby Plugin: gatsby-source-sharepoint-online

gatsby-source-sharepoint-online

Node.js CI Coverage Status

Welcome! Use gatsby-source-sharepoint-online to access site data from a SharePoint Online tenant.

Getting Started

  1. Create an Azure App Registration and grant admin consent to the Microsoft Graph: Sites.Read.All application permission. You must use an application permission type for this plugin.
  2. Create a secret in your App Registration for use with the plugin.
  3. Use a package manager like yarn or npm to install the plugin.

yarn

yarn add gatsby-source-sharepoint-online

npm

npm i gatsby-source-sharepoint-online --save
  1. Add the plugin config to gatsby-config.js
module.exports = {
  plugins: [
    {
      resolve: "gatsby-source-sharepoint-online",
      options: {
        host: "<domain>.sharepoint.com",
        appId: <ApplicationId>,
        appSecret: <ApplicationSecret>
        tenantId: <TenantId>,
        sites: [
          {
            name: "CoolSharepointSite",
            relativePath: "sites/CoolSharepointSite",
            lists: [
              {
                title: "Heroes",
                fields: ["Name", "Power"],
              },
            ],
          },
        ],
      },
    },
  ],
};

NOTE! Do not put your secrets directly into this file if you intend to source control your application. In this repository we use dotenv to load config values from a .env file that is excluded from source control.

Options

Root Schema

Name Type Description
host string required The SharePoint Online host where the sites to access are hosted.
appId string required The App Registration Application (client) ID.
appSecret string required The secret associated with the App Registration identified by appId.
tenantId string required The Azure Directory (tenant) ID that SharePoint and the App Registration belong to.
sites site[] The sites to source data from.

Site Schema

Name Type Description
name string required The name of the SharePoint site. This is used for the node type.
relativePath string required The relative url of the site.
lists list[] The SharePoint lists to load data from.

List Schema

Name Type Description
title string required The title of the SharePoint list.
fields string[] The names of the fields to expand.

Join the Community

Chat with members of the community via Slack!