Kjør kode
Handlingen Kjør kode kjører Javascript. Du kan sende data fra tidligere trinn i arbeidsflyten som inndata til handlingen Kjør kode, og returnere verdier som kan brukes i påfølgende trinn.
På denne siden
Felt
Handlingen Kjør kode inneholder følgende felter.
Felt | Beskrivelse |
---|---|
Overtre | Obligatorisk. En GraphQL-spørring for å bruke data fra tidligere trinn som inndata til handlingen Kjør kode. |
Utdata | Obligatorisk. En representasjon av dataene som skal returneres av handlingen, definert i GraphQLs skjemadefinisjonsspråk (SDL). |
Kode | Obligatorisk. JavaScript-koden som skal kjøres av handlingen Kjør kode. |
Inndata
Inndata kan sendes fra trinn som skjer før handlingen Kjør kode kjøres. For å inkludere disse dataene, kan du skrive en GraphQL-spørring i feltet Inndata. Dataene som returneres fra spørringen vil være tilgjengelig som input
-argument til funksjonen merket med export default
. Du trenger ikke å håndtere paginering eller å bruke edges
og nodes
i spørringen, da Flow håndterer dette for deg.
Et eksempel på inndata som henter en bestillingsmerknad og tittelen på en varelinje:
Disse dataene konverteres til en input
-variabel, som kan brukes i koden:
Inndata kan også destruktureres i funksjonssignaturen:
Utdata
Handlingen Kjør kode kan returnere egendefinerte data. For å definere typen data koden skal returnere, kan du bruke feltet Utdata og GraphQLs Skjemadefinisjonsspråk (SDL). For eksempel, for å returnere en streng med navnet giftMessage
og et tall med navnet totalGifts
:
Kommentarer er valgfrie, men brukes til å beskrive dataene i Flows brukergrensesnitt. For å returnere disse dataene i JavaScript-koden, må du returnere et objekt som samsvarer med typen:
Du kan også definere en egendefinert type for å returnere mer komplekse data. For eksempel, for å returnere en type med navnet Gift
, som inneholder en streng med navnet message
og et tall med navnet amount
:
For å bruke disse dataene i trinn som følger denne handlingen, kan du bruke variabelen Kjør kode, som skrives i henhold til Output
-skjemaet du definerer i konfigurasjonen av handlingen Kjør kode. Du kan bruke denne variabelen i både betingelser og handlinger.
Eksempel
Eksempler på kodehandlingen finner du i Flows eksempelrepositorium.
Begrensninger
Handlingen Kjør kode har følgende begrensninger:
- Koden din kan ikke importere moduler.
- Koden din kan ikke kjøre http-anrop (
fetch
). - Koden din kan ikke bruke
console.log
. - Tilfeldige og klokkebaserte funksjoner kan ikke brukes. Datoopplysninger, som
scheduledAt
ellercreatedAt
, kan sendes som inndata.
I tillegg håndheves følgende begrensninger:
- Inndataspørringen er begrenset til 5000 tegn.
- Utdataskjema er begrenset til 5000 tegn.
- Nyttelasten for utdata er begrenset til 50 kb.
- Koden kan ikke være lenger enn 50 000 tegn.
- Total varighet for kjøring er begrenset til 5 sekunder.
- Minnebruken er begrenset til 10 MB.
Veikart
Flow-teamet planlegger å tilføre funksjoner i handlingen Kjør kode over tid. Tabellen nedenfor oppsummerer planlagte forbedringer, og deres estimerte leveringsdatoer.
Forbedring | Beskrivelse | Estimert leveranse |
---|---|---|
Feilrettinger | Feilrettinger og opprydding | Februar 2024 |
Logging | Bruk «console.log» til å sende utdata til kjøreloggen for feilsøkingsformål. | Tidlig i april 2024 |
Eksterne API-anrop | Bruk JavaScripts fetch til å anrope API-er. | Q3 2024 |
Tilbakemelding
Handlingen Kjør kode er en ny type trinn i Shopify Flow. Hvis du har tilbakemeldinger eller spørsmål, kan du kommentere i dette Flow-fellesskapsinnlegget.