Schéma JSON de modèle de site

Le modèle de site est une liste d’actions. Pour des actions plus complexes, telles que créer une liste, il existe également des actions secondaires. Chaque action est spécifiée par une valeur « verb ». Les actions verb sont exécutées dans leur ordre d’apparition dans le script JSON. Seules les actions verb répertoriées ici peuvent être utilisées. Sinon, une erreur « action impossible » est générée lorsque vous tentez de télécharger un script de site. D’autres actions seront ajoutées au fil du temps.

La structure JSON globale est spécifiée comme suit :

{
  "$schema": "schema.json",
  "actions": [
    ...
    <one or more verb actions>
    ...
  ],
  "bindata": { },
  "version": 1
}

Conseil

Vous pouvez afficher et mentionner le schéma le plus récent ici : https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json

Remarque

Les actions peuvent être exécutées plusieurs fois sur un site. La réexécution des actions sur le même site avec les mêmes paramètres entraîne la mise à jour du schéma existant, et non la duplication du schéma.

addContentTypesFromHub

Utilisez le verbe addContentTypesFromHub pour synchroniser les types de contenu d’un hub de type de contenu sur le site.

Remarque

Une fois addContentTypesFromHub appliquée sur un site, la sous-action addContentType sur une liste peut l’ajouter à la liste par le nom.

Valeur JSON

  • ids: tableau des ID de type de contenu qui doivent être synchronisés.

Exemple

{
  "verb": "addContentTypesFromHub",
  "ids": ["0x01007CE30DD1206047728BAFD1C39A850120"]
}

Créer une liste SharePoint

Utilisez le verbe createSPList pour créer une liste SharePoint.

Remarque

Une fois createSPList appliqué sur un site, l’exécution de createSPList avec le même nom de liste agit comme une mise à jour de la liste existante.

Valeurs JSON

  • listName : nom de la liste.

  • templateType : modèle à appliquer à la liste. En règle générale, vous utilisez la valeur 100. Toutes les valeurs de type de modèle sont présentées dans l’énumération SPListTemplateType. Celles que nous prenons actuellement en charge comprennent :

    Nom du modèle de liste Énum
    Liste générique 100
    Bibliothèque de documents 101
    Enquête 102
    Liens 103
    Annonces 104
    Contacts 105
    Événements 106
    Tâches 107
    Forum de discussion 108
    PictureLibrary 109
    Pages du site 119
    Suivi des problèmes 1100

    Si vous utilisez 101 ou 119 et mentionnez les noms par défaut (« Documents » ou « Pages du site »), vous pouvez modifier la bibliothèque créée avec le modèle. Voir l’exemple ci-dessous.

  • subactions : tableau d’actions exécutées dans l’ordre indiqué pour créer votre liste.

Exemple

{
  "verb": "createSPList",
  "listName": "Customer Tracking",
  "templateType": 100,
  "subactions": [
    {
      "verb": "setDescription",
      "description": "List of Customers and Orders"
    }
  ]
},
{
  "verb": "createSPList",
  "listName": "Documents",
  "templateType": 101,
  "subactions": [
    {
      "verb": "setDescription",
      "description": "This is a modified default document library"
    }
  ]
}

Le tableau d’actions secondaires fournit des actions supplémentaires permettant de spécifier la façon de créer la liste. Les actions secondaires peuvent également être spécifiées au moyen d’une valeur verb.

setDescription

Définit la description de la liste.

Valeur JSON

  • description : description de la nouvelle liste.

Exemple

{
  "verb": "setDescription",
  "description": "List of Customers and Orders"
}

addSPField

Ajoute un nouveau champ.

Valeurs JSON

  • fieldType : le type de champ peut être défini sur Text, Note, Number, Boolean, User ou DateTime. Pour d’autres types de données, consultez l’action addSPFieldXml.
  • displayName : nom d’affichage de l’utilisateur.
  • id : attribut facultatif. S’il est fourni, indique l’ID du champ. Il doit s’agir d’un GUID unique généré de façon aléatoire. Il est recommandé de fournir une valeur pour cette option afin de s’assurer que le champ n’est pas ajouté plusieurs fois si le script est réexécuté.
  • internalName : attribut facultatif. S’il est fourni, indiquez le nom interne du champ. Dans le cas contraire, le nom interne est basé sur le nom d’affichage.
  • isRequired : True si ce champ doit obligatoirement contenir des informations ; sinon, False.
  • addToDefaultView : True si le champ doit être ajouté à la vue par défaut ; sinon, False.
  • enforceUnique : attribut facultatif défini par défaut sur False. Si la valeur est définie sur True, toutes les valeurs pour ce champ doivent être uniques.

Exemple

{
  "verb": "addSPField",
  "fieldType": "Text",
  "displayName": "Customer Name",
  "isRequired": false,
  "id": "c532fcb9-cdb3-45c6-8247-c784dcd58e1a",
  "addToDefaultView": true
}

deleteSPField

Supprime un champ par défaut qui a été fourni par le type de modèle sélectionné.

Valeur JSON

  • displayName : nom d’affichage permettant d’identifier le champ à supprimer.

Exemple

{
  "verb": "deleteSPField",
  "displayName": "Modified"
}

addSPFieldXml

Permet de définir des champs et leurs éléments à l’aide du langage CAML (Collaborative Application Markup Language). À titre de référence, consultez l’article Élément Field (champ). Il est important de fournir l’attribut ID dans le champ schemaXml afin d’éviter que le champ ne soit créé plusieurs fois si le script est exécuté plusieurs fois.

Ces constructions de champ ne peuvent actuellement pas être désignées comme colonnes de site, ni ajoutées aux types de contenu. Pour créer des colonnes de site avec Field XML, utilisez l’action createSiteColumnXml.

Valeur JSON

  • schemaXml : bloc CAML pour définir le champ.
  • addToDefaultView : True si le champ doit être ajouté à la vue par défaut ; sinon, False.

Exemple

{
  "verb": "addSPFieldXml",
  "schemaXml": "<Field ID=\"{596cbd92-36e3-40cc-a910-0f53468ce5e4}\" Type=\"Choice\" DisplayName=\"Project Category\" Required=\"FALSE\" Format=\"Dropdown\" StaticName=\"ProjectCategory\" Name=\"ProjectCategory\"><Default>Operations</Default><CHOICES><CHOICE>Operations</CHOICE><CHOICE>IT</CHOICE><CHOICE>Legal</CHOICE><CHOICE>Engineering</CHOICE></CHOICES></Field>"
}

addSPLookupFieldXml

Permet de définir des champs Liste de choix et leur élément de listes dépendant à l’aide du langage CAML (Collaborative Application Markup Language). À titre de référence, consultez l’article Élément Field (champ). Il est important de fournir l’attribut ID dans le champ schemaXml afin d’éviter que le champ ne soit créé plusieurs fois si le script est exécuté plusieurs fois.

Valeur JSON

  • schemaXml : bloc CAML pour définir le champ.
  • targetListName : nom qui identifie la liste à laquelle ce champ Liste de choix fait référence. Indiquez cet élément ou targetListUrl.
  • targetListUrl : URL web qui identifie la liste à laquelle ce champ Liste de choix fait référence. Indiquez cet élément ou targetListName.
  • addToDefaultView : True si le champ doit être ajouté à la vue par défaut ; sinon, False.

Exemple

{
  "verb": "addSPLookupFieldXml",
  "schemaXml": "<Field Type=\"Lookup\" DisplayName=\"Contoso Project Category\" Required=\"FALSE\" EnforceUniqueValues=\"FALSE\" ShowField=\"Title\" UnlimitedLengthInDocumentLibrary=\"FALSE\" RelationshipDeleteBehavior=\"None\" ID=\"{101f1f89-d667-4c7f-9ebc-76cb5831d0a2}\" StaticName=\"ContosoProjectCategory\" Name=\"ContosoProjectCategory\" />",
  "targetListName": "Contoso Project Master"
}

addSiteColumn

Action secondaire permettant d’ajouter directement une colonne de site définie précédemment à une liste (existante ou créée via le script de site).

Valeur JSON

  • internalName : nom interne de la colonne de site à ajouter.
  • addToDefaultView: attribut facultatif dont la valeur par défaut est False. Si la valeur est True, le champ nouvellement ajouté est également ajouté à l’affichage par défaut.

Exemple

 {
  "verb": "addSiteColumn",
  "internalName": "siteColumnUser",
  "addToDefaultView": true
 }

addSPView

Définit et ajoute un affichage à la liste. Utilisez cette action pour indiquer les colonnes souhaitées et la façon dont les éléments de liste doivent s’afficher (à l’aide d’une requête CAML). Les propriétés de l’action vous permettent d’indiquer des limites de ligne, et si l’affichage est paginé et effectue un traitement récursif des éléments dans des dossiers imbriqués. Vous pouvez également désigner l’affichage que vous avez conçu comme affichage par défaut.

Valeur JSON

  • name : nom de l’affichage.
  • viewFields : tableau des noms internes des champs dans l’affichage.
  • query : chaîne de requête CAML qui contient la clause where de la requête de l’affichage. Voir les schémas CAML.
  • rowLimit : limite de ligne de l’affichage.
  • isPaged : indique si l’affichage est paginé.
  • makeDefault : si la valeur est définie sur True, l’affichage sera l’affichage par défaut pour la liste ; sinon, False.
  • scope : paramètre facultatif pour indiquer l’étendue de l’affichage. Pour plus d’informations, voir Énumération SPViewScope.
  • formatterJSON : Paramètre facultatif pour spécifier la mise en forme JSON pour l’affichage.

Exemple

{
  "verb": "addSPView",
  "name": "Contoso Projects by Category",
  "viewFields":
  [
    "ID",
    "Title",
    "siteColumnUser",
    "ProjectCategory"
  ],
  "query": "<OrderBy><FieldRef Name=\"ProjectCategory\" /><FieldRef Name=\"siteColumnUser\" Ascending=\"FALSE\" /></OrderBy>",
  "rowLimit": 100,
  "isPaged": true,
  "makeDefault": true
}

removeSPView

Supprime un affichage dans une liste. Cette action peut également servir à supprimer un affichage appliqué par le modèle de site.

Valeur JSON

  • name : nom de l’affichage à supprimer.

Exemple

{
  "verb": "removeSPView",
  "name": "All Items"
}

addContentType

Ajoute un type de contenu à la liste. Cela se limite actuellement aux types de contenu par défaut inclus dans le modèle de site ou ceux définis dans un script à l’aide de l’action createContentType.

Remarque

Nous ne prenons actuellement pas en charge l’ajout de types de contenu d’entreprise.

Valeur JSON

  • name : nom du type de contenu à ajouter.

Exemple

{
  "verb": "addContentType",
  "name": "name"
}

removeContentType

Supprime un type de contenu qui a été fourni par le type de modèle sélectionné.

Valeur JSON

  • name : nom du type de contenu à supprimer.

Exemple

{
  "verb": "removeContentType",
  "name": "name"
}

setSPFieldCustomFormatter

Définit la mise en forme des colonnes pour un champ. Pour obtenir plus d’informations, consultez l’article Utilisation de la mise en forme de la colonne pour personnaliser SharePoint.

Valeurs JSON

  • fieldDisplayName : nom d’affichage du champ sur lequel agir.
  • formatterJSON : objet JSON à utiliser en tant que formateur personnalisé du champ.

Exemple

Dans cet exemple, nous mettons en forme une colonne numérique en tant que barre de données.

{
  "verb": "setSPFieldCustomFormatter",
  "fieldDisplayName": "Effort (days)",
  "formatterJSON":
  {
    "debugMode": true,
    "elmType": "div",
    "txtContent": "@currentField",
    "attributes": {
      "class": "sp-field-dataBars"
    },
    "style": {
      "width": {
        "operator": "?",
        "operands": [
          {
            "operator": ">",
            "operands": ["@currentField", "20"]
          },
          "100%",
          {
            "operator": "+",
              "operands": [
                {
                  "operator": "toString()",
                  "operands": [
                    {
                      "operator": "*",
                      "operands": ["@currentField",5]
                    }
                  ]
                },
                "%"
              ]
          }
        ]
      }
    }
  }
}

associateFieldCustomizer

Enregistre l’extension de champ pour un champ de liste. Pour plus d’informations sur ces extensions côté client, consultez le didacticiel Créer un personnalisateur de champ.

Valeurs JSON

  • internalName : nom interne du champ sur lequel agir.
  • clientSiteComponentId : identificateur (GUID) de l’extension dans le catalogue d’applications. La valeur de cette propriété est disponible dans le fichier manifest.json ou dans le fichier elements.xml.
  • clientSiteComponentProperties : paramètre facultatif qui peut être utilisé pour fournir des propriétés pour l’instance d’extension du personnalisateur de champ.

Exemple

{
  "verb": "createSPList",
  "listName": "Custom List with Slider Extension",
  "templateType": 100,
  "subactions": [
    {
      "verb": "setDescription",
      "description": "Custom list to illustrate SharePoint site scripting"
    },
    {
      "verb": "addSPField",
      "fieldType": "Text",
      "displayName": "Text Field",
      "isRequired": false,
      "addToDefaultView": true
    },
    {
      "verb": "addSPField",
      "fieldType": "Number",
      "displayName": "Number Field",
      "internalName": "ElectricSlide",
      "addToDefaultView": true,
      "isRequired": true
    },
    {
      "verb": "associateFieldCustomizer",
      "internalName": "ElectricSlide",
      "clientSideComponentId": "35944670-3111-4482-b152-9e9d1sean9f7",
      "clientSideComponentProperties": "{\"sampleText\":\"Yes - added by a site template, what?\"}"
    }
  ]
}

associateListViewCommandSet

Associe un élément ListViewCommandSet à la liste.

Valeurs JSON

  • title : titre de l’extension.
  • location : paramètre obligatoire pour spécifier l’emplacement où la commande est affichée. Les options sont les suivantes : ClientSideExtension.ListViewCommandSet.ContextMenu ou ClientSideExtension.ListViewCommandSet.CommandBar.
  • clientSideComponentId : identificateur (GUID) de l’extension dans le catalogue d’applications. La valeur de cette propriété est disponible dans le fichier manifest.json ou dans le fichier elements.xml.
  • clientSideComponentProperties : paramètre facultatif qui peut être utilisé pour fournir des propriétés pour l’instance d’extension.

Exemple

{
  "verb": "createSPList",
  "listName": "CustomList",
  "templateType": 100,
  "subactions": [
      {
        "verb": "setDescription",
        "description": "Custom list to illustrate SharePoint site scripting"
      },
      {
        "verb": "addSPField",
        "fieldType": "Text",
        "displayName": "Text Field",
        "isRequired": false,
        "addToDefaultView": true
      },
      {
        "verb": "addSPField",
        "fieldType": "Number",
        "displayName": "Number Field",
        "internalName": "ElectricSlide",
        "addToDefaultView": true,
        "isRequired": true
      },
      {
        "verb": "associateListViewCommandSet",
        "title": "HelloWorld",
        "location": "ClientSideExtension.ListViewCommandSet.CommandBar",
        "clientSideComponentId": "13234283-d6c2-408f-a9ef-31a920c8ae78",
        "clientSideComponentProperties": "{\"sampleText\":\"added by a site template\"}"
      }
  ]
}

setTitle

Renomme la liste. Pour créer une liste avec un nom spécifique, utilisez le paramètre listName et non pas setTitle dans l’action CreateSPList.

Remarque

L’utilisation de setTitle renommera la liste, empêchant ainsi la mise à jour de la liste si le modèle de site est réappliqué.

Valeur JSON

  • title : titre de la nouvelle liste.

Exemple

{
  "verb": "setTitle",
  "title": "Customers and Orders"
}

Définir une nouvelle colonne de site

Utilisez le verbe createSiteColumn pour définir une nouvelle colonne de site qui peut ensuite être associée à une liste directement ou à l’aide de l’action addContentType.

Valeur JSON

  • fieldType : type de colonne à ajouter. Les valeurs prises en charge, telles que SPField, sont Text, Note, Number, Boolean, User et DateTime. Pour d’autres types de données, reportez-vous à l’action de script addSPFieldXml.
  • internalName : nom interne de la colonne de site.
  • displayName : nom d’affichage de la colonne de site.
  • isRequired : True si ce champ doit obligatoirement contenir des informations ; sinon, False.
  • id : attribut facultatif. S’il est fourni, indique l’ID du champ. Il doit s’agir d’un GUID unique généré de façon aléatoire. Il est recommandé de fournir une valeur pour cette option afin de s’assurer que le champ n’est pas ajouté plusieurs fois si le script est réexécuté.
  • group : attribut facultatif pour désigner le groupe de colonnes.
  • enforceUnique : attribut facultatif défini par défaut sur False. Si la valeur est définie sur True, toutes les valeurs pour ce champ doivent être uniques.

Exemple

{
  "verb": "createSiteColumn",
  "fieldType": "User",
  "internalName": "siteColumn4User",
  "displayName": "Project Owner",
  "isRequired": false,
  "id": "181c4370-cdae-471b-9499-730046e55b75"
}

Utilisez le verbe createSiteColumnXml pour définir une nouvelle colonne de site pour ces types de données complexes non pris en charge par createSiteColumn. Ces colonnes peuvent ensuite être associées à une liste directement ou à l’aide de l’action addContentType. Il est important de fournir l’attribut ID dans le champ schemaXml afin d’éviter que le champ ne soit créé plusieurs fois si le script est exécuté plusieurs fois.

Valeur JSON

  • schemaXml : bloc CAML pour définir le champ.
  • pushChanges : indique si cette modification doit être transmise aux listes faisant déjà référence à ce champ. La valeur par défaut est True.

Exemple

{
  "verb": "createSiteColumnXml",
  "schemaXml": "<Field ID=\"{82581bd1-356f-4206-8ff7-a3b6ad1f5553}\" Type=\"Choice\" DisplayName=\"Project Status\" Required=\"FALSE\" Format=\"Dropdown\" StaticName=\"ProjectStatus\" Name=\"ProjectStatus\"><Default>In Progress</Default><CHOICES><CHOICE>In Progress</CHOICE><CHOICE>In Review</CHOICE><CHOICE>Done</CHOICE><CHOICE>Has Issues</CHOICE></CHOICES></Field>"
}

Définir un nouveau type de contenu

Utilisez createContentType pour définir un nouveau type de contenu qui peut ensuite être associé à une liste à l’aide de l’action addContentType.

Valeur JSON

Remarque

Lorsqu’il est fait référence à l’ID du type de contenu, seule l’une des trois références est requise : ID, parentName ou parentId.

  • name : nom du type de contenu à créer.
  • description : description facultative du type de contenu.
  • parentName : nom du type de contenu parent.
  • parentId : ID du type de contenu parent.
  • id : ID du type de contenu.
  • hidden : indique si le type de contenu est visible ou masqué.
  • group : groupe du type de contenu.
  • subactions : indique les actions secondaires à exécuter sur le type de contenu. Celles-ci sont utilisées pour désigner les colonnes de site à ajouter.

Exemple

{
  "verb": "createContentType",
  "name": "Contoso Projects",
  "description": "custom list content type",
  "parentName": "Item",
  "hidden": false,
  "group": "Contoso",
  "subactions":
    [
      {
        "verb": "addSiteColumn",
        "internalName": "siteColumn1Text"
      },
      {
        "verb": "addSiteColumn",
        "internalName": "siteColumn2Number"
        },
      {
        "verb": "addSiteColumn",
        "internalName": "siteColumn3Note"
      }
    ]
}

addSiteColumn

Action secondaire permettant d’ajouter une colonne de site définie précédemment directement à un type de contenu (existant ou créé via le script de site).

Valeur JSON

  • internalName : nom interne de la colonne de site à ajouter.

Exemple

 {
  "verb": "addSiteColumn",
  "internalName": "siteColumnUser"
 }

removeSiteColumn

Action secondaire permettant de supprimer une colonne de site d’une liste ou d’un type de contenu.

Valeur JSON

  • internalName : nom interne de la colonne de site à supprimer.

Exemple

 {
  "verb": "removeSiteColumn",
  "internalName": "siteColumnUser"
 }

Utilisez le verbe addNavLink pour ajouter un lien de navigation vers le lancement rapide ou la navigation hub du site.

Valeurs JSON

  • url : URL du lien à ajouter.
  • displayName : nom d’affichage du lien.
  • navComponent : composant auquel ajouter le lien, QuickLaunch, Hub ou le pied de page. La valeur par défaut est QuickLaunch.
  • isWebRelative : True si le lien mène à une page web ; sinon, False. La valeur par défaut est False.
  • parentDisplayName : paramètre facultatif. S’il est indiqué, le lien de navigation devient un enfant (sous-lien) du lien de navigation avec la valeur displayName. Si cette valeur et la valeur parentUrl sont indiquées, le paramètre recherche un lien qui correspond aux deux pour être le parent.
  • parentUrl : paramètre facultatif. S’il est indiqué, le lien de navigation devient un enfant (sous-lien) du lien de navigation avec cette URL. Si cette valeur et la valeur parentDisplayName sont indiquées, le paramètre recherche un lien qui correspond aux deux pour être le parent.
  • isParentUrlWebRelative : paramètre facultatif. True si le lien mène à une page web ; sinon, False. La valeur par défaut est False.

Exemple

Remarque

Si vous ajoutez un lien à un élément de site imbriqué, par exemple une liste, veillez à ajouter la référence au chemin d’accès depuis la racine.

{
  "verb": "addNavLink",
  "url": "/Customer Event Collateral",
  "displayName": "Event Collateral",
  "navComponent":"Hub",
  "isWebRelative": true
},
{
    "verb": "addNavLink",
    "url": "/Lists/Project Activities",
    "displayName": "Project Activities",
    "isWebRelative": true
    },
{
  "verb": "addNavLink",
  "url": "https://learn.microsoft.com/sharepoint/dev/declarative-customization/site-design-overview",
  "displayName": "SharePoint Site Design Overview",
  "parentDisplayName": "Documents"
},
{
  "verb": "addNavLink",
  "url": "https://learn.microsoft.com/sharepoint/dev/declarative-customization/site-design-json-schema#add-a-navigation-link",
  "displayName": "About Site Footer",
  "navComponent":"Footer"
},
{
  "verb": "addNavLink",
  "url": "",
  "displayName": "Linkless Heading",
  "isWebRelative": false
}

Utilisez le verbe removeNavLink pour supprimer un lien de navigation du site.

Valeurs JSON

  • url : URL du lien à supprimer.
  • displayName : nom d’affichage du lien.
  • navComponent : composant duquel supprimer le lien, QuickLaunch, Hub ou le pied de page. La valeur par défaut est QuickLaunch.
  • isWebRelative : True si le lien mène à une page web ; sinon, False.

Exemple

Remarque

Cette action peut être utilisée pour supprimer les liens de site ajoutés par les modèles de site de collaboration et de communication (par exemple, « accueil », « documents », « pages » et « conversations »).

{
  "verb": "removeNavLink",
  "displayName": "Home",
  "isWebRelative": true
},
{
  "verb": "removeNavLink",
  "displayName": "Pages",
  "isWebRelative": true
},
{
  "verb": "removeNavLink",
  "displayName": "Conversations",
  "isWebRelative": true
},
{
  "verb": "removeNavLink",
  "url": "/_layouts/15/groupstatus.aspx?Target=TEAM",
  "displayName": "Teams",
  "isWebRelative": true
}

Gérer les caractères spéciaux

Les sites créés dans des langues autres que l’anglais peuvent contenir des caractères spéciaux. Utilisez l’encodage UTF-8 pour lire du contenu JSON comprenant des caractères spéciaux.

Get-Content '<Folder_location_to_site_script>\site-script.json' -Raw -Encoding UTF8

Application d’un thème

Utilisez le verbe applyTheme pour ajouter un thème personnalisé au site. Pour plus d’informations sur la création et le chargement de ces thèmes, voir Thèmes de site SharePoint. Cette action de site fonctionne uniquement pour l’application de thèmes personnalisés. Pour appliquer l’un de nos thèmes SharePoint du produit, créez une copie personnalisée et faites-y référence.

Remarque

Cette action est automatiquement bloquée pour les sites de canaux.

Valeur JSON

  • themeName : nom du thème à appliquer.

Exemple

{
  "verb": "applyTheme",
  "themeName": "Blue Yonder"
}

Définir les propriétés de personnalisation

Utilisez le verbe setSiteBranding pour spécifier la disposition de navigation, la disposition d’en-tête et l’arrière-plan d’en-tête.

Remarque

La configuration de la navigation ne fonctionne que sur le modèle de site de communication et pour la navigation de hub. Cette action est automatiquement bloquée pour les sites de canaux.

Valeur JSON

  • navigationLayout : définir la disposition de navigation en tant que Cascade ou MegaMenu
  • headerLayout : définir la disposition d’en-tête en tant que Standard ou Compact
  • headerBackground : définir l’arrière-plan d’en-tête en tant que None, Neutral, Soft ou Strong
  • showFooter : définir si les pieds de page de site doivent s’afficher ou non

Exemple

{
  "verb": "setSiteBranding",
  "navigationLayout": "Megamenu",
  "headerLayout": "Compact",
  "headerBackground": "Strong",
  "showFooter": true
}

Utilisez le verbe setSiteLogo pour spécifier un logo pour votre site.

Remarque

Cette action est disponible uniquement sur le modèle de site de communication (68).

Valeur JSON

  • url : URL de l’image du logo à utiliser.

Exemple

{
  "verb": "setSiteLogo",
  "url": "/Customer Event Collateral/logo.jpg"
}

Joindre un site concentrateur

Remarque

Cette action est automatiquement bloquée pour les sites de canaux.

Utilisez le verbe joinHubSite pour joindre le site à un site hub désigné.

Valeur JSON

  • hubSiteId : ID du site hub à joindre.
  • name : chaîne facultative indiquant le nom du site hub.

Exemple

Remarque

Pour obtenir hubSiteId, connectez-vous à un site à l’aide de la cmdlet Connect-PnPOnline, puis exécutez :

$hubSiteName = "My Hub Site"
Get-PnPHubSite | Where-Object { $_.Title -eq $hubSiteName }

Cette opération renvoie des informations sur le site hub $hubSiteName. La valeur hubSiteId est renvoyée en tant que SiteId.

{
  "verb": "joinHubSite",
  "hubSiteId": "e337cc17-b355-45d2-8dd4-e056f1bcf6f6"
}

Installer un complément ou une solution

Utilisez l’action installSolution pour installer un complément déployé ou une solution SharePoint Framework à partir du catalogue d’applications client.

Exemple

Remarque

Pour obtenir l’ID de solution, connectez-vous à un site à l’aide de la cmdlet Connect PnPOnline, puis exécutez PnPApp Get. Cette action renvoie une liste des solutions déployées. Pour des clients multigéographiques, utilisez l’ID de produit après avoir configuré la solution dans chaque emplacement géographique. Obtenez l’ID de produit en chargeant la solution dans le catalogue d’applications ou dans la définition de la solution.

{
  "verb": "installSolution",
  "id": "d40e4edc-a6da-4cd8-b82d-bba970976803"
}

Enregistrer une extension

Utilisez l’action associateExtension pour enregistrer une extension SharePoint Framework déployée à partir du catalogue d’applications client.

Remarque

Pour plus d’informations sur la façon de créer et de configurer une extension SharePoint Framework, consultez l’article Vue d’ensemble des extensions de SharePoint Framework.

Valeurs JSON

  • title : titre de l’extension dans le catalogue d’applications.
  • location : valeur utilisée pour spécifier le type d’extension. S’il est utilisé pour créer des commandes, alors où la commande s’affiche ; sinon, il doit être défini sur ClientSideExtension.ApplicationCustomizer.
  • clientSideComponentId : identificateur (GUID) de l’extension dans le catalogue d’applications. La valeur de cette propriété est disponible dans le fichier manifest.json ou dans le fichier elements.xml.
  • clientSideComponentProperties : paramètre facultatif qui peut être utilisé pour fournir des propriétés pour l’instance d’extension.
  • registrationId: paramètre facultatif, qui indique le type de la liste à laquelle l’extension est associée (s’il s’agit d’une extension de liste).
  • registrationType : paramètre facultatif qui doit être spécifié si l’extension est associée à une liste.
  • scope : indique si l’extension est associée à un Web ou à un Site.

Exemple

{
  "verb": "associateExtension",
  "title": "SPFXApplicationCustomizer Example",
  "location": "ClientSideExtension.ApplicationCustomizer",
  "clientSideComponentId": "40d64749-a6e5-4691-b440-1e32fb6sean5",
  "scope": "Web"
}

Activer une fonctionnalité

Utilisez l’action activateSPFeature pour activer une fonctionnalité SharePoint.

Valeurs JSON

  • featureId : ID de la fonctionnalité (GUID) à activer.
  • scope : indique si l’extension est associée à unweb ou à un site.

Exemple

Pour activer la fonctionnalité d’étendue web qui permet de créer des listes d’événements (ID de fonctionnalité 00bfea71-ec85-4903-972d-ebe475780106) :

{
  "verb": "activateSPFeature",
  "featureId": "00bfea71-ec85-4903-972d-ebe475780106",
  "scope": "web"
}

Déclencher un flux

Utilisez le verbe triggerFlow pour démarrer un flux personnalisé.

Conseil

L’article Appel de Power Automate à partir d'un script de site fournit un exemple de bout en bout.

Valeurs JSON

  • url : URL de déclenchement du flux.
  • name : nom du flux.
  • parameters : série facultative de paramètres à transmettre dans le flux.

Exemple

 {
  "verb": "triggerFlow",
  "url": "<A trigger URL of the Flow.>",
  "name": "Record and tweet site creation event",
  "parameters": {
    "event": "Microsoft Event",
    "product": "SharePoint"
  }
}

Configurer les paramètres régionaux

Remarque

Cette action est automatiquement bloquée pour les sites de canaux.

Utilisez l’action setRegionalSettings pour configurer les paramètres régionaux du site (/_layouts/15/regionalsetng.aspx).

Valeurs JSON

Exemple

{
  "verb": "setRegionalSettings",
  "timeZone": 2, /* Greenwich Mean Time */
  "locale": 1050, /* Croatia */
  "sortOrder": 6, /* Croatian */
  "hourFormat": "24"
}

Ajout d’utilisateurs (principaux) à des groupes SharePoint

Remarque

Cette action est automatiquement bloquée pour les sites de canaux.

Utilisez l’action addPrincipalToSPGroup pour gérer l’ajout d’utilisateurs et de groupes pour sélectionner des groupes SharePoint par défaut. Pour plus d’informations, consultez Présentation des groupes SharePoint. Cette action peut être utilisée pour les groupes de sécurité, les groupes Microsoft 365 et les utilisateurs sous licence.

Valeurs JSON

  • principal : paramètre obligatoire pour spécifier le nom du principal (utilisateur ou groupe) à ajouter au groupe SharePoint.
  • group : paramètre obligatoire pour spécifier le groupe SharePoint auquel ajouter le principal.

Exemple

Remarque

Cette action ne prend actuellement en charge que les groupes de visiteurs (niveau d’autorisation : lecture), de membres (niveau d’autorisation : contribution ou modification, selon le modèle de site) et de propriétaires (niveau d’autorisation : contrôle total). Les principaux doivent être ajoutés individuellement.

{
  "verb": "addPrincipalToSPGroup",
  "principal": "sean@contosotravel.onmicrosoft.com", /* user */
  "group": "Owners"
},
{
  "verb": "addPrincipalToSPGroup",
  "principal": "travelops", /* sg */
  "group": "Owners"
},
{
  "verb": "addPrincipalToSPGroup",
  "principal": "itexecutives", /* mail-enabled sg */
  "group": "Members"
},
{
  "verb": "addPrincipalToSPGroup",
  "principal": "Adventure@contosotravel.onmicrosoft.com", /* o365 group */
  "group": "Visitors"
}

Gérer l’accès invité

Remarque

Cette action est automatiquement bloquée pour les sites de canaux.

Utilisez l’action setSiteExternalSharingCapability pour gérer l’accès invité. Pour obtenir plus d’informations, consultez l’article Gérer le partage externe pour votre environnement SharePoint Online.

Valeurs JSON

  • capability : paramètre obligatoire permettant de spécifier l’option de partage pour la collection de sites. Les options sont Disabled, ExistingExternalUserSharingOnly, ExternalUserSharingOnly et ExternalUserAndGuestSharing.

Exemple

{
  "verb": "setSiteExternalSharingCapability",
  "capability": "Disabled"
}

Voir aussi