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 surText
,Note
,Number
,Boolean
,User
ouDateTime
. 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 clausewhere
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"
}
Ajouter un lien de navigation
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://video2.skills-academy.com/sharepoint/dev/declarative-customization/site-design-overview",
"displayName": "SharePoint Site Design Overview",
"parentDisplayName": "Documents"
},
{
"verb": "addNavLink",
"url": "https://video2.skills-academy.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
}
Supprimer un lien de navigation
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 MegaMenuheaderLayout
: définir la disposition d’en-tête en tant que Standard ou CompactheaderBackground
: définir l’arrière-plan d’en-tête en tant que None, Neutral, Soft ou StrongshowFooter
: 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
}
Définir un logo de site
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 à unWeb
ou à unSite
.
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 à unsite
.
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
timeZone
: nombre indiquant le fuseau horaire. Pour obtenir la liste des valeurs admissibles, voir SPRegsionalSettings.TimeZoneslocale
: nombre indiquant la culture LCID. Pour obtenir la liste des valeurs, voir Valeurs des ID de paramètres régionaux Microsoft.sortOrder
: nombre indiquant l’ordre de tri. Pour obtenir la liste des valeurs admissibles, voir SPRegionalSettings.CollationhourFormat
: indique si le site doit utiliser le format d’heure 12 heures ou 24 heures.
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 sontDisabled
,ExistingExternalUserSharingOnly
,ExternalUserSharingOnly
etExternalUserAndGuestSharing
.
Exemple
{
"verb": "setSiteExternalSharingCapability",
"capability": "Disabled"
}