Kom igång med plugin-programmet Power Pages för GitHub Copilot CLI och Claude Code

Power Pages-plugin-programmet för GitHub Copilot CLI och Claude Code tillhandahåller ett AI-assisterat arbetsflöde för att skapa, distribuera och hantera moderna ensidesappar (SPA) på Power Pages. I stället för att manuellt ställa in projekt, skriva standard-API-kod och konfigurera behörigheter, beskriv vad du vill ha på naturligt språk och pluginet hanterar implementeringen.

Plugin-programmet stöder hela livscykeln för webbplatsutveckling genom konversationskunskaper, från att skapa en ny webbplats till att distribuera den, konfigurera Dataverse-datamodeller och konfigurera autentisering.

Important

  • En generativ AI-kodningsagent, till exempel GitHub Copilot CLI eller Claude Code, använder plugin-programmets kunskaper och arbetsflöden för att slutföra Power Pages specifika uppgifter.
  • Kod och konfiguration som genereras av AI-kodningsagenten kan vara felaktig. Granska, testa och verifiera allt genererat innehåll innan du godkänner eller distribuerar det. Granska alltid agentförslag innan du godkänner dem.

Förutsättningar

Innan du börjar kontrollerar du att du har nödvändig programvara och behörighet.

Programvarukrav

Komponent Lägsta version Mer information
Node.js 18.0 eller senare Ladda ned Node.js
Power Platform CLI (PAC CLI) 2.6.3 eller senare (krävs för serverlogik) Installera PAC CLI
Azure CLI Latest Installera Azure CLI
GitHub Copilot CLI eller Claude Code Latest GitHub Copilot CLI eller Claude Code
Visual Studio Code- och Power Platform Tools-tillägg (valfritt) Latest Ladda ned VS Code och installera Power Platform-verktyg

Du behöver också:

  • En Power Platform-miljö med Power Pages aktiverat.
  • En autentiserad PAC CLI-session som är ansluten till målmiljön. Kör pac auth create om du inte har anslutit ännu.
  • En Azure CLI-session loggade in på samma klientorganisation. Kör az login --allow-no-subscriptions för att autentisera.

Verifiera autentisering:

Kontrollera att du är autentiserad pac auth list med hjälp av kommandot .

pac auth list           # Should show authenticated profile

Om du inte är autentiserad kör du det här kommandot:

pac auth create --environment <Instance url>        # Authenticate to Power Platform

Tip

Om du vill hämta instans-URL:en går du till Power Pages hem, väljer ikonen Inställningar i det övre högra hörnet och väljer sedan Sessionsinformation.

Installera plugin-programmet

Installera Power Pages-plugin-programmet från Marketplace. Om du använder GitHub Copilot CLI kan du läsa dokumentationen för Copilot CLI-tillägg för motsvarande installationssteg. Följande kommandon använder Claude Code-syntax.

Kör installationsprogrammet för att konfigurera alla plugin-program med autoupdate aktiverat:

Windows (PowerShell):

iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js

macOS/Linux/Windows (cmd):

curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node

Installationsprogrammet gör automatiskt:

  • pac Installerar CLI om det inte redan är installerat.
  • Identifierar tillgängliga verktyg, till exempel Claude Code och GitHub Copilot CLI.
  • Registrerar plugin-marknadsplatsen och installerar alla angivna plugin-program.
  • Aktiverar automatisk uppdatering så att plugin-program förblir aktuella.

Efter installationen, starta om Claude Code eller GitHub Copilot CLI för att få åtkomst till pluginens färdigheter som snedstreckskommandon under din agentsession.

Installera från Marketplace

  1. Öppna Claude Code i terminalen.

  2. Lägg till Microsoft Marketplace:

    /plugin marketplace add microsoft/power-platform-skills
    
  3. Installera Power Pages-plugin-programmet:

    /plugin install power-pages@power-platform-skills
    

När du har installerat plugin-programmet startar du om Claude Code eller GitHub Copilot CLI för att få åtkomst till plugin-programmets funktioner som snedstreckskommandon i din session med agenten.

Tip

Aktivera automatisk uppdatering för att automatiskt ta emot uppdateringar till marknadsplatsen och kunskaper. /plugin Använd kommandot, gå till Marketplaces, välj marketplace och aktivera automatisk uppdatering.

Kunskapsöversikt

Plugin-programmet innehåller kunskaper som täcker hela livscykeln för en Power Pages-webbplats. Anropa varje färdighet genom konversation, antingen som ett snedstreck-kommando eller genom att beskriva vad du vill göra.

Färdighet Befallning Vad det gör
Skapa webbplats /create-site Strukturerar en webbplats, tillämpar din designriktning och skapar sidor och komponenter
Driftsätt webbplats /deploy-site Skapar projektet och laddar upp det till Power Pages med hjälp av PAC CLI
Aktivera webbplats /activate-site Etablerar en webbplatspost och tilldelar en offentlig URL
Konfigurera datamodell /setup-datamodel Skapar Dataverse-tabeller, kolumner och relationer
Lägga till exempeldata (valfritt) /add-sample-data Fyller i Dataverse-tabeller med realistiska testposter
Integrera web-API /integrate-webapi Genererar skriven API-klientkod, tjänster och tabellbehörigheter
Lägga till AI-sammanfattningar /add-ai-webapi Integrerar api:erna för generativ AI-sammanfattning (söksammanfattning och datasammanfattning) i dina sidor. Skapar en typad sammanfattningstjänst med hantering av förfalskningsskyddstoken, ramverksspecifika wrappers, inbyggda anropspunkter och motsvarande inställningar för webbplatsen Summarization
Konfigurera autentisering /setup-auth Lägger till inloggning, utloggning och rollbaserad åtkomstkontroll. Stöder Microsoft Entra ID, Microsoft Entra External ID, OpenID Connect, SAML 2.0, WS-Federation, Microsoft-konto, Facebook, Google och lokal användarnamn- och lösenordsautentisering, inklusive konfigurationer för flera leverantörer
Skapa webbroller /create-webroles Genererar YAML-filer för webbrollen för hantering av användaråtkomst
Lägga till serverlogik /add-server-logic Genererar säkra JavaScript-slutpunkter på serversidan för validering, externa API-anrop, hemlig hantering och dataåtgärder
Lägga till molnflöde /add-cloud-flow Integrerar befintliga Power Automate molnflöden på din webbplats för arbetsflöden för godkännande, meddelanden och schemalagd automatisering
Integrera serverdel /integrate-backend Analyserar din prototyp, bestämmer rätt metod (webb-API, serverlogik eller molnflöde) för varje funktion och samordnar hela byggsekvensen
Lägg till SEO /add-seo Genererar taggarna robots.txt, sitemap.xmloch meta
Köra säkerhetsgranskning /security-review Samordnar de fokuserade säkerhetskunskaperna och konsoliderar varje sökning i en enda HTML-rapport. Omfattar kod, beroenden, genomsökning av distribuerad webbplats, webbläsarhuvuden, brandvägg för webbprogram, tabellbehörigheter och autentiseringskonfiguration
Skanna källkod /scan-code Kör statisk analys och beroendegenomsökning på lokala källfiler. visar resultat över kodmönster, sårbara paket, hårdkodade hemligheter och licensproblem
Skanna driftsatt webbplats /scan-site Startar en säkerhetsgenomsökning på serversidan mot liveplatsen, hämtar den senaste rapporten och grupperar resultat efter allvarlighetsgrad
Hantera säkerhetsrubriker i webbläsaren /manage-headers Inspekterar och konfigurerar HTTP-säkerhetsrubrikerna som en webbplats skickar till webbläsare – Innehållssäkerhetsprincip, ram- och klickkapningsskydd, delning mellan ursprung, cookiebeteende och relaterade webbplatsinställningar
Hantera brandvägg för webbprogram /manage-firewall Inspekterar och konfigurerar brandväggen för webbprogram (WAF) på en produktionsplats: aktiverar skydd, lägger till eller tar bort IP-block, landsblock, sökvägsblock och hastighetsbegränsningar
Granskning av tabellbehörigheter /audit-permissions Granskar befintliga tabellbehörigheter mot platskod och Dataverse-metadata. skapar en HTML-rapport grupperad efter allvarlighetsgrad med föreslagna korrigeringar
Planera införandet /plan-alm Identifierar projekttillstånd, samlar in din kampanjstrategi, renderar en visuell plan och orkestrerar de andra alm-färdigheterna (application lifecycle management) i rätt ordning
Lösning för författare /setup-solution Skapar en utgivare och lösning, lägger till Power Pages komponenter, klassificerar webbplatsinställningar och föreslår miljövariabler och Azure Key Vault hemligheter
Konfigurera värd för pipeline /ensure-pipelines-host Etablerar eller identifierar en värdmiljö för Power Platform-pipelines
Konfigurera pipeline /setup-pipeline Registrerar en pipelinedefinition i Dataverse och binder uppflyttningssteg till målmiljöer
Distribuera via pipeline /deploy-pipeline Utlöser en pipelinedistribution för en målfas med åsidosättningar av miljövariabler per steg
Force-link-miljö /force-link-environment Omtilldela en målmiljö till en ny Power Platform Pipelines-värd när en värdkonflikt blockerar distributionen
Exportera lösning /export-solution Exporterar lösningen som en hanterad eller ohanterad zip med en fullständig kontroll före export
Importera lösning /import-solution Importerar en ZIP-fil för en lösning till en målmiljö, stegvis eller direkt
Testwebbplats /test-site Verifierar en distribuerad webbplats med ett webbläsarbaserat test: sidkrypning, rollbaserade åtkomstkontroller och verifiering av webb-API
Diagnostisera distributionen /diagnose-deployment Matchar distributionsfel mot en katalog med kända fel och föreslår en korrigering

Typiskt arbetsflöde

Ett vanligt arbetsflöde från slutpunkt till slutpunkt följer den här sekvensen:

  1. /create-site : Bygg upp stomme, designa och skapa sidor
  2. /deploy-site: Ladda upp till din Power Pages miljö
  3. /activate-site : Konfigurera en offentlig URL
  4. /setup-datamodel : Skapa Dataverse-tabeller
  5. /add-sample-data : Fyll tabeller med testdata
  6. /integrate-webapi: Generera API-klientkod och konfigurera behörigheter
  7. /create-webroles : Definiera åtkomstroller
  8. /setup-auth : Lägg till inloggning, utloggning och rollbaserat användargränssnitt
  9. /add-server-logic : Lägg till säkra slutpunkter på serversidan
  10. /add-cloud-flow: Integrera befintliga Power Automate flöden
  11. /add-seo : Sökmotoroptimering
  12. /deploy-site : Skicka slutgiltiga ändringar live
  13. /security-review : Kör en säkerhetsgranskning från slutpunkt till slutpunkt innan du går till produktion
  14. /plan-alm : Flytta webbplatsen till test- och produktionsmiljöer

Tip

  • Du behöver inte följa den här exakta ordningen. Varje färdighet kontrollerar sina egna förutsättningar och anger om något saknas. Du kan till exempel köra /setup-auth tidigare /integrate-webapi om webbplatsen behöver autentisering först.
  • Om du inte är säker på vilket tillvägagångssätt du ska använda för varje enskild funktion, kör du /integrate-backend istället för steg 4 till 10 individuellt. Den analyserar din prototyp, avgör om varje funktion behöver webb-API, serverlogik eller ett molnflöde och samordnar färdigheterna i rätt ordning.
  • Om du vill lägga till AI-genererade sök- och postsammanfattningar kör du /add-ai-webapi efter /integrate-webapi. Den återanvänder de tabellbehörigheter och webbplatsinställningar som /integrate-webapi konfigurerar, så kör den när din Web API-integration är på plats.

Skapa din Power Pages-webbplats

Den här genomgången beskriver hela livscykeln för att skapa en Power Pages-webbplats med plugin-programmet, från grundläggning till distribution. Varje steg beskriver vad du säger och vad plugin-programmet gör som svar.

Steg 1: Skapa din webbplats

Beskriv den webbplats som du vill använda på naturligt språk: vad den är till för, vilka sidor den behöver och eventuella designinställningar som färgschema, layoutformat eller teckensnitt. Kör /create-site eller beskriv bara webbplatsen så känner plugin-programmet igen avsikten.

Om du inte anger något ramverk ber plugin-programmet dig att välja ett (React, Vue, Angular eller Astro) och sedan:

  1. Strukturerar projektet från en mall och tillämpar ditt webbplatsnamn, färger och designtoken.
  2. Installerar beroenden, startar en utvecklingsserver och öppnar en förhandsversion av webbläsaren.
  3. Skapar varje sida, komponent och väg som du begärde med relevanta avbildningar.
  4. Skapar git-bekräftelser vid viktiga milstolpar så att du har inbyggd återställningshistorik.

Steg 2: Distribuera din webbplats

Kör /deploy-site för att ladda upp webbplatsen till Power Pages. Plugin-programmet:

  1. Verifierar att PAC CLI är installerat och att autentiseringssessionen är aktiv.
  2. Bekräftar målmiljön med dig innan du fortsätter.
  3. Kör en produktionsversion och laddar upp kompilerade utdata.
  4. Skapar en mapp för distributionsartefakter om ingen redan finns.

Anmärkning

Om din miljö blockerar vissa filbilagor identifierar plugin-programmet problemet och innehåller instruktioner för att lösa det.

Steg 3: Aktivera webbplatsen

Kör /activate-site för att göra webbplatsen offentligt tillgänglig. Plugin-programmet:

  1. Föreslår en underdomän baserat på webbplatsnamnet och gör att du kan anpassa den.
  2. Etablerar en webbplatspost via Power Platform-API:et.
  3. Avsöker tills webbplatsen är aktiverad och returnerar den offentliga URL:en.

Nu har du en arbetswebbplats på en offentlig URL. De återstående stegen lägger till data, autentisering och SEO. Hoppa över alla steg som inte gäller för din webbplats.

Steg 4: Konfigurera datamodellen

Kör /setup-datamodel för att skapa Dataverse-tabellerna som din webbplats behöver. Om du redan har ett ER-diagram eller ett specifikt schema anger du det direkt i stället för att agenten ska analysera koden.

Plugin-programmet skapar en Data Model Architect-agent som:

  1. Analyserar webbplatsens kod för att avgöra vilka data sidorna och komponenterna kräver.
  2. Frågar din Dataverse-miljö efter befintliga tabeller för att undvika dubbletter.
  3. Föreslår en datamodell med tabeller, kolumner, datatyper och relationer, visualiserade som ett ER-diagram.

Du granskar och godkänner förslaget. Plugin-programmet skapar ingenting förrän du har bekräftat det. Efter godkännande skapar plugin-programmet tabellerna och kolumnerna via API-anrop och sparar en manifestfil som steg 5 och 6 använder.

Steg 5: Lägg till exempeldata (valfritt)

Kör /add-sample-data för att fylla i tabellerna med testposter. Det här steget kräver datamodellen från steg 4.

Plugin-programmet utför följande åtgärder:

  1. Läser manifestet för att förstå tabeller, kolumner och relationer.
  2. Genererar kontextuellt lämpliga värden för varje kolumntyp, till exempel realistiska e-postmeddelanden, rimliga datum och formaterade valutabelopp.
  3. Infogar poster i beroendeordning (överordnade tabeller före underordnade tabeller) och uppdaterar autentiseringstoken automatiskt under massinfogningar.

Steg 6: Integrera med Dataverse Web API

Kör /integrate-webapi för att ersätta falska data med realtidsfrågor för Dataverse. Det här steget kräver datamodellen från steg 4.

Plugin-programmet utför följande åtgärder:

  1. Söker igenom din kodbas efter komponenter som använder mockdata, platshållaranrop eller hårdkodade matriser. De här komponenterna mappas till dina Dataverse-tabeller.
  2. Skapar en web-API-integreringsagent för varje tabell som genererar:
    • En delad API-klient med hantering av förfalskningstoken och logik för återförsök.
    • TypeScript-entitetstyper och domänmappare.
    • Ett CRUD-tjänstlager.
    • Ramverksspecifika mönster, till exempel React-krokar, Vue composables eller Angular-tjänster.
  3. Skapar en behörighetsarkitektagent som föreslår tabellbehörigheter och webbplatsinställningar.

Du granskar och godkänner behörighetsförslaget. Plugin-programmet skapar inga konfigurationsfiler förrän du bekräftar det.

Lägga till AI-genererade sammanfattningar (valfritt)

Kör /add-ai-webapi för att lägga generativa AI-sammanfattningar ovanpå din Web API-integrering. Funktionen kopplar samman två API:er för sammanfattning av förhandsvisningar med dina sidor för postdetaljer och listor:

  • API för söksammanfattning: Returnerar en AI-komprimerad sammanfattning av sökresultat med citat.
  • API för datasammanfattning: Returnerar en sammanfattning per post eller insikter på listnivå för en Dataverse-tabell.

Det här steget bygger på datamodellen från steg 4 och webb-API-integreringen från steg 6. Plugin-programmet utför följande åtgärder:

  1. Söker igenom koden efter sammanfattningsintegreringspunkter och bekräftar målsidorna, tabellerna och vilka API:er som ska användas.
  2. Delegerar eventuella krav för webb-API som saknas – tabellbehörigheter, kolumnlistor och webbroller – till /integrate-webapi och /create-webroles, så det finns en enda sanningskälla för behörigheter.
  3. Skapar en Agent för integrering av AI och webb-API som genererar en typad sammanfattningstjänst (aiSummaryService.ts) med hantering av förfalskningsskyddstoken, ramverksspecifika wrappers (React-krokar, Vue-sammansättningar eller Angular-tjänster) samt inbyggda anropspunkter på målsidorna.
  4. Skapar en AI Web API Settings Architect-agent som skapar Summarization inställningarna för webbplatsen för prompter och innehållsbegränsningar.

Du granskar och godkänner förslagen. Plugin-programmet genererar inte kod eller skapar inställningar förrän du bekräftar det.

Anmärkning

Sammanfattnings-API:erna är i förhandsversion och är beroende av att administrativa kontroller och kontroller på platsnivå aktiveras. Om sammanfattningar inte visas efter distributionen kontrollerar du att funktionen är aktiverad via relevanta webbplatsinställningar och administratörskontroller. Mer information finns i översikt över API för datasammanfattning och Power Pages-sökning med generativ AI.

Steg 7: Skapa webbroller

Kör /create-webroles för att definiera användares åtkomstroller. Plugin-programmet:

  1. Frågar din miljö efter befintliga webbroller för att undvika dubbletter.
  2. Genererar rolldefinitioner med unika identifierare.
  3. Framtvingar att varje webbplats har högst en anonym roll och en autentiserad roll.

Steg 8: Konfigurera autentisering

Kör /setup-auth för att lägga till inloggning, utloggning och rollbaserad åtkomstkontroll till din webbplats. Plugin-programmet stöder följande identitetsprovidrar och du kan konfigurera en provider eller flera på samma gång.

Provider Bäst för
Microsoft Entra External ID (rekommenderas för kundinriktade webbplatser) Offentliga webbplatser och kundportaler med självbetjäningsregistrering.
Microsoft Entra ID Interna medarbetarportaler eller business-to-business-partnerwebbplatser (B2B). Power Pages konfigurerar automatiskt webbplatsens överordnade klientorganisation, så du behöver inte ange klientinformation.
Microsoft, Facebook, Google Social inloggning för konsumentpubliker.
Lokal autentisering Inloggning med användarnamn och lösenord. Rekommenderas inte och konfigureras endast när du uttryckligen begär det.

Mer information om leverantörer som stöds, inklusive protokoll och konfigurationsöverväganden, finns i Översikt av autentisering i Power Pages.

Plugin-programmet:

  1. Analyserar din webbplats (syfte, sidor, målgrupp) och föreslår en lämplig standard. Plugin-programmet föreslår till exempel Microsoft Entra External ID med öppen registrering för en kundinriktad webbplats, eller Microsoft Entra ID med registrering endast för inbjudningar för en intern portal. Du accepterar rekommendationen eller väljer dina egna leverantörer.
  2. För varje identitetsprovider guidar den dig genom alla nödvändiga steg i identitetsproviderns administrationscenter, till exempel att skapa klientorganisationer, registrera appar, skapa användarflöden samt hämta klient-ID:n och omdirigerings-URI:er. Plugin-programmet validerar varje värde som du klistrar in i konversationen igen och beräknar den exakta omdirigerings-URI:n för webbplatsen så att värdet som klistras in i appregistreringen matchar värdet som skrivits in i webbplatsinställningarna.
  3. Frågar hur användarprofildata ska flöda från identitetsprovidern till Dataverse-kontaktposten (anspråksmappning), om de ska synkroniseras vid varje inloggning eller endast första inloggningen och om externa inloggningar ska länkas automatiskt till befintliga kontakter via e-post.
  4. Genererar autentiseringstjänsten, typdeklarationer, rollbaserade auktoriseringsverktyg (hasRole, RequireAuth, RequireRole), en sessions keepalive-hook som förhindrar att SPA-sessioner upphör att gälla utan avbrott och en inloggnings-/utloggningsgränssnittskomponent som är integrerad med webbplatslayouten. Plugin-programmet använder ramverkets mönster, till exempel React hooks, Vue composables, Angular-tjänster eller Astro-komponenter.
  5. När fler än en leverantör har konfigurerats genereras en /login-sida som visas i den valda layouten: horisontell rad, vertikal stapel, primär fokusvy eller flikar.
  6. Skriver matchande webbplatsinställningar under .powerpages-site/site-settings/ för varje provider, registreringsläge, anspråksmappning och valfri funktion.

Plugin-programmet konfigurerar även följande valfria funktioner när du aktiverar dem:

  • Villkor: En /terms SPA-sida som användare måste godkänna innan de slutför inloggningen, plus matchande webbplatsinställning och innehållsfragment.
  • Användarprofilsida: En /user-profile SPA-sida där inloggade användare redigerar sina kontaktuppgifter via Power Pages webb-API.
  • Federerad utloggning: Loggar även ut användaren på identitetsprovidern när de loggar ut från webbplatsen, för scenarier med delad enhet eller reglerade scenarier.

Tip

Om du vill lägga till en andra identitetsleverantör till en befintlig webbplats, kör du /setup-auth igen. Plugin-programmet identifierar vad som redan har konfigurerats och erbjuder att lägga till en ny provider utan att skriva över de befintliga. Den här metoden är användbar för inkrementella scenarier, till exempel att börja med Microsoft Entra External ID och senare lägga till Google för social inloggning.

Anmärkning

Auktorisering på klientsidan (RequireAuth, RequireRole, hasRole) gäller endast för användarupplevelse. Den styr vad användaren ser. Tabellbehörigheter på serversidan, konfigurerade av /integrate-webapi, upprätthåller faktisk säkerhet.

Steg 9: Lägg till serverlogik

Kör /add-server-logic för att lägga till säkra server-slutpunkter på din webbplats. Använd serverlogik när din webbplats behöver logik som inte kan köras i webbläsaren, till exempel externa API-anrop, validering på serversidan, hemlig hantering eller dataåtgärder mellan entiteter.

Important

Stöd för serverlogik kräver PAC CLI version 2.6.3 eller senare. Använd snabbinstallationsskriptet för att uppdatera till den senaste versionen.

Beskriv vad du behöver på vanligt språk och plugin-programmet:

  1. Skapar en Server Logic Architect-agent som analyserar ditt användningsfall och klassificerar dess komplexitet.
  2. Föreslår en slutpunktsdesign, säkerhetskonfiguration och eventuella nödvändiga tabellbehörigheter för din granskning.
  3. När du har godkänt genereras JavaScript-slutpunkten på serversidan på /_api/serverlogics/<name>.
  4. Skapar en typbaserad tjänst på klientsidan för att anropa slutpunkten från dina komponenter.
  5. Uppdaterar komponenterna för att anropa den nya tjänsten.
  6. Konfigurerar webbrolltilldelningar och tabellbehörigheter för slutpunkten.

Du granskar och godkänner förslaget. Ingen kod genereras förrän du bekräftar.

Vanliga användningsfall:

Anmärkning

Kör /add-server-logic en gång per användningsfall. Om din webbplats till exempel behöver både en slutpunkt för inventeringsvalidering och en global sökslutpunkt, kör funktionen två gånger.

Steg 10: Integrera molnflöden

Kör /add-cloud-flow för att integrera befintliga Power Automate molnflöden på din webbplats. Den här färdigheten ansluter din Power Pages webbplats till flöden som du redan har skapat i Power Automate. Det skapar inte nya molnflöden.

Plugin-programmet:

  1. Registrerar det befintliga molnflödet med din webbplats.
  2. Genererar kod på klientsidan för att utlösa flödet från dina sidor.
  3. Hanterar asynkrona arbetsflödestillstånd och återuppringningsmönster.
  4. Kopplar ihop datautbyte mellan sidan och flödet.

Använd /add-cloud-flow för arbetsflöden för godkännande, e-postmeddelanden, schemalagda jobb och händelsedriven automatisering som hanteras bättre av Power Automate än av slutpunkter på serversidan.

Alternativ: Använd /integrate-backend för att planera det fullständiga tjänstskiktet

Om du inte är säker på vilka funktioner som behöver webb-API, serverlogik eller ett molnflöde kör /integrate-backend du i stället för att köra steg 4 till 10 manuellt. Den här färdigheten fungerar som en initierare som:

  1. Analyserar din prototyp för att identifiera alla funktioner som behöver ett tjänstlager.
  2. Klassificerar varje funktion till rätt metod: Webb-API för standard-CRUD, Serverlogik för validering på serversidan och externa API:er eller molnflöde för godkännandearbetsflöden och automatisering.
  3. Föreslår en sekventiell körningsplan med alla färdigheter, beroenden och konfigurationer.
  4. När du har godkänt initierar du färdigheterna i rätt ordning.

Planen är beständig, återupptabar och redigerbar. Stoppa efter ett steg för att granska genererad kod eller testa platsen och fortsätta där du slutade genom att köra /integrate-backend igen.

Steg 11: Lägg till SEO

Kör /add-seo för att optimera din webbplats för sökmotorer. Plugin-programmet:

  1. Identifierar vägar från ditt ramverks routerkonfiguration.
  2. Genererar sökmotordirektiv och en webbplatskarta för alla identifierade vägar.
  3. Lägger till metataggar: viewport, charset, description, Open Graph, Twitter Card och favicon-referenser.

Steg 12: Publicera den slutliga webbplatsen

Om du utför valfria steg kör du /deploy-site igen för att skicka ändringarna live. Plugin-programmet kör en produktionsversion och laddar upp platsen tillsammans med alla distributionsartefakter (tabellbehörigheter, webbplatsinställningar, webbroller, serverlogikfiler) till din Power Pages miljö.

Steg 13: Kör en säkerhetsgranskning

Kör /security-review för att utföra en säkerhetsgranskning från slutpunkt till slutpunkt för din webbplats innan du går till produktion. Färdigheten samordnar de fokuserade säkerhetskunskaperna och konsoliderar varje fynd i en enda HTML-rapport på docs/security-review-<timestamp>.html.

Plugin-programmet ställer en vanlig fråga om ditt mål och väljer den matchande uppsättningen med fokuserade färdigheter:

Mål Vad den kontrollerar
Kod och konfiguration Källkod, beroenden, tabellbehörigheter och autentiseringskonfiguration. Fungerar endast på lokala filer – ingen distribution krävs.
Versionsberedskap (rekommenderas) Fullständig granskning innan publicering. Omfattar alla relevanta områden: kod och beroenden, genomsökning av den driftsatta webbplatsen, säkerhetshuvuden i webbläsaren, brandvägg för webbaserade program, tabellbehörigheter och autentisering.
Distribuerad webbplats Endast genomsökning av driftsatta webbplatser. Användbart för löpande övervakning av en publicerad webbplats.

När du har bekräftat det kör plugin-programmet matchande fokuserade kunskaper parallellt och skriver sina resultat till en enda rapport:

  • /scan-code: Kör statisk analys (opengrep) och beroendegenomsökning (trivy) på lokala källfiler. Visar kodmönster, sårbara paket, hårdkodade hemligheter och licensproblem. Om något av verktygen inte är installerat erbjuder färdigheten en manuell kodgranskning som reserv.
  • /scan-site: Startar en säkerhetsgenomsökning på serversidan mot liveplatsen och hämtar den senaste rapporten. Genomsökningens varaktighet beror på platsens storlek – små webbplatser avslutas på några minuter, stora platser kan ta timmar. Resultaten grupperas efter allvarlighetsgrad. Kräver en driftsatt webbplats.
  • /manage-headers: Inspekterar de HTTP-säkerhetshuvuden som konfigurerats under .powerpages-site/site-settings/: policy för innehållssäkerhet, X-Frame-Options, CORS, cookiens SameSite-attribut och relaterade inställningar. Identifierar saknade eller svaga värden och föreslår rekommenderade standardvärden.
  • /manage-firewall: Granskar webbapplikationsbrandväggen (WAF) för produktionswebbplatsen, inklusive status för hanterade regler och anpassade regler (IP-blockeringar, landblockeringar, sökvägsblockeringar, frekvensbegränsningar). Endast tillgängligt på produktionsplatser i regioner som stöds. kunskapen identifierar och rapporterar behörighetsproblem.
  • /audit-permissions: Granskar befintliga tabellbehörigheter mot platskod och Dataverse-metadata. Identifierar saknade behörigheter, alltför tillåtande roller, oanvända behörigheter och problem med YAML-scheman.

Den konsoliderade rapporten grupperar resultaten efter avsnitt, öppnas i standardwebbläsaren och innehåller riktlinjer för klarspråksreparation. Från chatten erbjuder plugin-programmet sedan att gå igenom åtgärderna – välj ett resultat så aktiverar tillägget den relevanta, markerade funktionen interaktivt för att genomföra ändringen.

Anmärkning

Säkerhetsgranskningen tillämpar aldrig ändringar automatiskt. Varje specifik funktion körs i läsbart granskningsläge under den sammanslagna körningen. För att tillämpa en korrigering anropar plugin-programmet matchningsfärdigheten interaktivt när du har valt åtgärden.

Tip

Du kan också köra en specifik färdighet för sig:

  • Kör /scan-code under utvecklingen för att fånga upp problem på kodnivå tidigt.
  • Kör /manage-headers för att åtgärda ett specifikt fel med en innehållssäkerhetsprincip eller konfigurera CORS.
  • Kör /manage-firewall för att lägga till en hastighetsgräns på inloggningssidan eller blockera trafik per land.
  • Kör /audit-permissions efter att du har ändrat tabellbehörigheter för att kontrollera att de fortfarande matchar platskoden.
  • Kör om /security-review med målet Driftsatt webbplats för att övervaka en produktionswebbplats över tid.

Verifiera din webbplats

När du har slutfört kunskaperna kontrollerar du att Power Pages-webbplatsen fungerar korrekt.

  1. Gå till Power Pages.
  2. Leta upp webbplatsen i listan Aktiva webbplatser .
  3. Förhandsgranska din webbplats på skrivbordet med hjälp av alternativet Förhandsversion .
  4. Funktionaliteten:

Flytta upp din webbplats mellan miljöer

När din webbplats fungerar i utvecklingsmiljön använder du alm-färdigheterna (application lifecycle management) för att marknadsföra den till test- och produktionsmiljöer. Plugin-programmet paket din webbplats som en Power Platform-lösning, identifierar värden som varierar mellan miljöer och distribuerar lösningen via Power Platform Pipelines eller via manuell export och import.

Om du vill använda ALM-färdigheterna behöver du också minst en Power Platform-målmiljö (test, produktion eller båda). Om du vill använda det valfria Azure Key Vault flödet för hemligheter behöver du också behörighet att skapa ett nyckelvalv i din Azure-prenumeration.

Planera utplaceringen

Kör /plan-alm för att starta. /plan-alm är startpunkten för ALM och samordnar de andra ALM-färdigheterna, så du brukar inte köra dem direkt. Plugin-programmet:

  1. Identifierar det aktuella tillståndet för dina projekt-, lösnings- och målmiljöer.
  2. Frågar om din kampanjstrategi (Power Platform Pipelines eller manuell export och import), målfaserna och eventuella begränsningar som ska tillämpas.
  3. Genererar en visuell plan på docs/alm-plan.html som visar varje åtgärd som den avser att vidta.
  4. Väntar på ditt godkännande innan du kör någon efterföljande färdighet.

Planen sparas på disk, så varje efterföljande färdighet läser från och skriver till samma sparade plan. Om en fas misslyckas, kör du /plan-alm igen och då fortsätter den där den slutade.

Skapa lösningen

Kör /setup-solution för att paketera din webbplats som en Power Platform-lösning. Plugin-programmet:

  1. Skapar en utgivare och lösning och lägger sedan till dina Power Pages komponenter: webbplatsen, webbroller, serverlogikslutpunkter, molnflödesregistreringar och OAuth-providerinställningar.
  2. Klassificerar varje platsinställning efter känslighet och föreslår miljövariabler för värden som varierar mellan miljöer.
  3. Erbjudanden om att etablera en Azure Key Vault och lagra värden av typen autentiseringsuppgifter, till exempel anslutningssträngar och API-nycklar, i den.
  4. Körs i synkroniseringsläge när det redan finns en lösning för webbplatsen för att stämma av komponenter utan att skapa en ny lösning.

Du granskar och godkänner förslaget. Plugin-programmet skapar ingen konfiguration förrän du har bekräftat det.

Tip

Om din lösning är för stor eller sammanflätade för att distribueras på ett tillförlitligt sätt rekommenderar plugin-programmet en delning och föreslår var den ska delas. Bekräfta delningen innan ändringarna gäller.

Distribuera med Power Platform-pipelines

Om du väljer Power Platform Pipelines som din marknadsföringsstrategi kör plugin-programmet följande kunskaper:

  1. /ensure-pipelines-host etablerar eller identifierar en värdmiljö för Power Platform-pipelines. Funktionen väljer det billigaste tillgängliga alternativet för din klientorganisation: en kostnadsfri plattformsvärd, Pipelines-appen i en befintlig miljö eller en anpassad värd.
  2. /setup-pipeline registrerar en pipelinedefinition i Dataverse, konfigurerar de faser du valde och binder varje steg till en målmiljö.
  3. /deploy-pipeline utlöser en distribution för en fas, tillämpar åsidosättningar av miljövariabler per steg via deploymentSettings.jsonoch spårar tillstånd i en distributionsregister.

Om en driftsättning misslyckas eftersom målmiljön redan är länkad till en annan Power Platform Pipelines-värd, kan plugin-programmet köra /force-link-environment för att omtilldela den. Åtgärden kräver ditt uttryckliga medgivande och är reversibel.

Distribuera med manuell export och import

Om du väljer det manuella alternativet körs insticksprogrammet:

  1. /export-solution för att exportera lösningen som en hanterad eller ohanterad ZIP-fil, med en fullständighetskontroll före export.
  2. /import-solution för att importera ZIP-filen på målmiljön, antingen via mellanlagring för att först kontrollera beroenden eller direkt.

Aktivera och verifiera den distribuerade webbplatsen

Efter en lyckad driftsättning i målmiljön, insticksprogrammet:

  1. Kör /activate-site för att etablera den offentliga URL:en i målmiljön.
  2. Kör /test-site för att verifiera distributionen. Plugin-programmet använder en webbläsare för att crawla representativa sidor, köra rollbaserade åtkomstkontroller, verifiera /_api/ anrop och samla in svarsformer från /_api/serverlogics/ slutpunkter. Funktionen rapporterar resultatet som PASS, WARNINGS eller FAIL, med detaljer för varje kontroll länkade från planen.

Om ett steg misslyckas kör /diagnose-deploymentplugin-programmet . Färdigheten matchar felet mot en katalog med kända distributionsfel, till exempel ett inaktuellt manifest, saknade beroenden, värdkonflikter, blockerad JavaScript eller utgången autentisering och föreslår en konkret korrigering. Plugin-programmet tillämpar aldrig en korrigering utan ditt medgivande.

Anmärkning

Alla ALM-funktioner läser ur och skriver till artefakter på disk: lösningsmanifestet, plandata, pipelinejournalen, driftsättningsjournalen och testresultat. Orkestreringen är återupptagbar och granskningsbar. Om du vill se vad som hände i valfritt steg granskar du artefakterna.

Tips och metodtips

Följande tips hjälper dig att få ut mesta möjliga av plugin-programmet och AI-kodningsagenten när du skapar Power Pages-webbplatser.

Övervaka terminalutdata för saknade verktyg vid den första körningen

Plugin-programmet tillhandahåller kunskaper och arbetsflöden, men AI-kodningsagenten – GitHub Copilot CLI eller Claude Code – kör de faktiska kommandona på datorn. När du använder dessa verktyg för första gången bör du titta noga på terminalutdata. AI-kodningsagenten kör kommandon och skript i bakgrunden, och vissa av dessa kommandon är beroende av verktyg som kanske inte är installerade på datorn. Om ett steg misslyckas visar terminalutdata vanligtvis vilket verktyg eller kommando det inte kunde hitta.

Om du ser ett fel som command not found eller is not recognized, installerar du det saknade verktyget och utlöser arbetsflödet igen. AI-kodningsagenten fortsätter där den slutade när verktyget är tillgängligt.

Granska agentförslag innan du godkänner

AI-kodningsagenten presenterar förslag, till exempel förslag från datamodellarkitekten och behörighetsarkitekten, innan den gör ändringar. Kod och konfiguration som genereras av AI-kodningsagenten kan vara felaktig, så granska, testa och verifiera varje förslag och all genererad kod innan du godkänner eller distribuerar den.

  • Datamodellförslag: Kontrollera att tabellnamn, kolumntyper och relationer matchar dina affärskrav. Det är enklare att justera ett förslag än att byta namn på kolumner när data redan har infogats.
  • Behörighetsförslag: Kontrollera att varje roll har rätt åtkomstnivå (skapa, läsa, uppdatera, ta bort) för varje tabell. För vidsträckta tabellbehörigheter är en vanlig säkerhetsrisk.
  • Genererad kod: Läs igenom den genererade koden och testa platsen lokalt innan du distribuerar. AI-genererad kod kan innehålla fel eller säkerhetsproblem.

Klistra in fel direkt med kontext

När något misslyckas, oavsett om det är ett byggfel, ett distributionsfel eller ett körningsundundanstag i webbläsaren, kopierar du de fullständiga felutdata. Klistra in den tillsammans med en kort beskrivning av vad du gjorde. Ju mer kontext du anger, desto snabbare går korrigeringen.

Exempel: Byggfel

I ran npm run build and got this error. Fix it.

error TS2339: Property 'jobTitle' does not exist on type 'JobPosting'.

  src/components/JobCard.tsx:24:31
    24   <Text>{posting.jobTitle}</Text>
                                 

Tip

Inkludera filnamnet, kommandot du körde och vad du förväntade dig att hända. Plugin-programmet använder den här kontexten för att hitta problemet och tillämpa en riktad korrigering i stället för att gissa.

Dela webb-API-fel med den fullständiga begärande-URL:en

Ett vanligt problem efter distributionen är ett 403-fel från Power Pages webb-API när en kolumn inte är aktiverad för API-åtkomst. När det här felet uppstår klistrar du in den fullständiga API-URL:en och det fullständiga JSON-felsvaret. Felmeddelandet anger exakt vilken tabell och kolumn som måste åtgärdas och plugin-programmet kan uppdatera tabellbehörigheten YAML och webbplatsinställningarna åt dig.

Exempel: Kolumnen är inte aktiverad för webb-API (403)

I'm getting a 403 error when the documents page loads. Here's the API call and the response. Fix the issue so this API works.

URL:
https://my-site.powerappsportals.com/_api/crd50_documents?$select=crd50_documentid,crd50_name,crd50_documentcategory,crd50_filetype,crd50_filesize,crd50_updateddate,crd50_description,_crd50_propertyid_value

Response:
{
  "error": {
    "code": "90040101",
    "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
    "innererror": {
      "code": "90040101",
      "message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
      "type": "AttributePermissionIsMissing"
    }
  }
}

Det här felet (AttributePermissionIsMissing) innebär att uppslagskolumnen _crd50_propertyid_value finns i tabellen Dataverse men inte visas i tabellbehörighetskonfigurationen för webb-API:et. Plugin-programmet löser det här felet genom att lägga till den saknade kolumnen i tabellbehörigheten YAML i .powerpages-site/table-permissions/ och distribuera om.

Anmärkning

Power Pages webb-API kräver att varje kolumn som returneras av ett API-anrop uttryckligen anges i tabellbehörigheten. Uppslagsegenskaper (prefix med _ och suffix med _value) är lätta att missa eftersom deras API-namn skiljer sig från kolumnens logiska namn i Dataverse. När du ser AttributePermissionIsMissing ska du alltid lägga till den kolumnen i tabellbehörigheten. Ändra inte API-frågan.

Var specifik om vad du vill ha

Vaga förfrågningar ger vaga resultat. Berätta för plugin-programmet exakt vad du behöver, inklusive layoutinställningar, datafält och beteende.

I stället för Testa
Skapa en sida för arbeten Skapa en sida med jobblistor med ett sökfält högst upp, filterknappar för plats och avdelning samt ett kortnät som visar titel, företag, löneintervall och publiceringsdatum för varje jobb.
"Åtgärda stylingen" "Jobbkorten staplas lodrätt på skrivbordet. Få dem att visas i ett rutnät med tre kolumner med 16 px mellanrum på skärmar som är bredare än 768px"
"Lägg till vissa data" "Lägg till 20 exempeljobbsposter på fyra avdelningar (teknik, marknadsföring, försäljning, HR) med realistiska titlar, löneintervall mellan $60k-$180k och publicerade datum under de senaste 30 dagarna"
"Konfigurera API:et" "Anslut komponenten JobListings till tabellen cr_jobposting Dataverse. Ersätt den hårdkodade matrisen med ett verkligt API-anrop som hämtar titel, avdelning, lön och bokfört datum"
"Lägg till inloggning" "Konfigurera Microsoft Entra External ID inloggning med öppen registrering, plus Google som en andra leverantör. Visa dem som en vågrät rad på inloggningssidan."

Använd skärmbilder för visuella problem

När webbplatsen inte ser rätt ut i webbläsaren tar du en skärmbild och klistrar in den direkt i konversationen eller anger en filsökväg. Visuell kontext hjälper till att identifiera layout-, avstånds- och formateringsproblem som är svåra att beskriva i text.

The header overlaps the hero section on mobile. Here's a screenshot:

[paste screenshot or provide path to screenshot file]

Fix the header so it doesn't overlap. It should be a fixed header with the content starting below it.

Iterera i små steg

Skapa stegvis i stället för att beskriva en hel webbplats i en prompt. Börja med strukturen och layouten och lägg sedan till funktioner en i taget. Med den här metoden kan du granska och korrigera kursen i varje steg.

Step 1: /create-site → Get the basic scaffold and layout right
Step 2: "Add a hero section to the home page with a search bar"
Step 3: "Add a job listings page with filter and sort"
Step 4: "Add a job detail page that shows full description"
Step 5: /setup-datamodel → Create tables now that you know the data shape
Step 6: /integrate-webapi → Wire up real data

Tip

Kontrollera webbläsarens förhandsgranskning efter varje steg. Om något inte stämmer kan du åtgärda det innan du går vidare. Det är enklare att åtgärda problem i en komponent än att lösa problem på en hel webbplats.

Be om en förklaring innan du godkänner

När du är osäker på en föreslagen ändring, särskilt när det gäller behörigheter, ändringar av datamodellen eller autentiseringskonfigurationen, ber du insticksprogrammet att förklara vad det planerar att göra och varför innan du godkänner det.

Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.

Köra färdigheter oberoende av varandra för att återställa från problem

Om en färdighet misslyckas halvvägs behöver du inte börja om. Varje färdighet körs oberoende av varandra och kan fortsätta där den slutade. Om exempelvis /integrate-webapi misslyckas i den tredje tabellen kan du köra den igen så upptäcker den det arbete som redan har slutförts.

/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.