Microsoft JSON Schemas

repository·main·Indexed 41 days ago

https://github.com/microsoft/json-schemas

A centralized repository for publishing and managing Microsoft-owned JSON schemas hosted at developer.microsoft.com/json-schemas/. Includes guidelines for publishing new schemas, updating existing ones, and managing release history for components such as Fabric Item Report schemas.

Tokens
1.1K
Snippets
0
Records
6
Agent score
1%

What's inside Microsoft JSON Schemas

  1. Update existing JSON schemas

    main

    For minor changes (a few lines), you can bypass the staging process and work directly with the Main and Live branches:

    1. Create a GitHub branch and modify the existing schema file.
    2. Open a PR and tag your team's other Admin as a reviewer.
    3. Merge the PR into the Main branch.
    4. After verifying the merge to Main, open a new PR to merge Main into Live.

    Note: Updates generally occur within 30 minutes but can take up to 24 hours. You may need to clear your cache to see the changes.

  2. Publish a new JSON schema

    main

    Follow these steps to add a new schema to the repository:

    1. Folder Structure: Create one folder per team. Keep the structure as flat as possible. The folder path determines the URL structure (e.g., https://developer.microsoft.com/json-schemas/folder/schema_name.json).
    2. Staging: Create a working branch in GitHub, add your schema file, and open a Pull Request (PR) to merge into the Main branch. After merging, changes appear on staging servers within 2-15 minutes.
    3. Production: After review, open a PR to merge the Main branch into the Live branch. Once approved and merged, the schema goes live in approximately 2-15 minutes.
  3. View release history for Fabric Item Report schemas

    main
    The fabric/item/report directory contains JSON schemas related to report definitions. You can track changes, new features, and version updates for specific schema components (such as report, page, visualContainer, and semanticQuery) via the release history. Each release entry links to a specific CHANGELOG.md for that component, detailing the exact version increments and the features or fixes included.
  4. Request Admin permissions to publish schemas

    main

    To publish schemas to the centralized repository, your team must have Administrator permissions.

    1. Select two Full-Time Employee (FTE) team members to act as Admins.
    2. Submit a request for Admin permission to the @Microsoft/json-schemas-admins team.
    3. Tag @VesaJuvonen in your request.

    Once approved, Admins can create folders, add schemas, and manage pull requests. It is recommended to also request permissions for your documentation team, PMs, or EMs.

  5. Troubleshoot missing schemas via manual Azure publishing

    main

    If a new schema does not appear automatically, you must manually publish it by copying it to the corresponding Azure storage repository.

    1. Locate your team's folder in the Azure storage.
    2. Create a new version folder (follow the pattern of existing schemas).
    3. Copy your new schema into that folder.

    Important for new root folders: If you create a new root-level folder, you must email devappportaleng@microsoft.com to request that they "allowlist" your folder. This allows the system to remove the locale from the full URL. Sub-folders do not require this step.

  6. Azure Blob Storage locations for manual publishing

    main

    If manual publishing is required, use the following Azure blob storage base URLs to find your team's folder:

    api-extractor: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/api-extractor/
    copilot: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/copilot/
    core-build: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/core-build/
    dotnet: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/dotnet/
    fabric: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/fabric/
    heft: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/heft/
    lockfile-explorer: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/lockfile-explorer/
    office-js: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/office-js/
    pnp: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/pnp/
    rig-package: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/rig-package/
    rush: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/rush/
    sp: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/sp/
    spfx-build: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/spfx-build/
    spfx: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/spfx/
    teams-toolkit: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/teams-toolkit/
    teams: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/teams/
    tsdoc: https://graphprodblobstorage.blob.core.windows.net/content/json-schemas/en-us/html/tsdoc/