Skip to content

JavaScript-åtgärd

JavaScript-åtgärden låter dig köra anpassad JavaScript-kod i ett jobb. Du har tillgång till inbyggda funktioner för att arbeta med data, artefakter, HTTP-anrop och andra jobb — alla med prefixet _.

När du ska använda detta

  • Du behöver anpassad logik som inte passar en standardåtgärd
  • Du vill bearbeta eller omforma data mellan andra åtgärder
  • Du behöver villkorslogik eller loopar i ditt arbetsflöde
  • Du vill kombinera flera operationer i en enda åtgärd

Hur det fungerar

Din JavaScript-kod körs i en sandlådemiljö med tillgång till föregående åtgärds utdata och en uppsättning inbyggda hjälpfunktioner. Alla inbyggda funktioner har prefixet _ (understreck).

Inbyggda funktioner

Indata och utdata

FunktionBeskrivning
_GetInput()Returnerar utdata från föregående åtgärd
_GetInput(position)Returnerar utdata från en specifik åtgärd via positionsnummer

Jobbparametrar och variabler

FunktionBeskrivning
_GetParameter(parameterName)Läs värdet av en jobbparameter
_SetParameter(jobGuid, parameterName, value)Uppdatera en jobbparameter
_GetVariable(variableName)Läs en jobbkörningsvariabel
_SetVariable(variableName, value)Sätt eller uppdatera en jobbkörningsvariabel

Köra andra jobb

FunktionBeskrivning
_RunJob(jobGuid, input, inputFiles, variables, verbose, waitForCompletion, name)Starta ett annat jobb. Sätt waitForCompletion till true för att vänta tills det är klart.
_ClearJobCache(jobGuid)Rensa cachen för ett specifikt jobb

HTTP-anrop

FunktionBeskrivning
_MakeHttpRequest(url, token, method, headers, body, contentType, numberOfRetries, responseErrorText)Skicka ett HTTP-anrop till en extern tjänst

Datakonvertering

FunktionBeskrivning
_ConvertToString(obj, sourceFormat)Konvertera ett objekt till sträng
_ConvertToJson(input, sourceFormat, ...)Konvertera från olika format till JSON
_ConvertToXml(input, sourceFormat, rootName, ...)Konvertera data till XML
_ConvertFromExcel(artifactName, targetFormat)Konvertera en Excel-artefakt till ett annat format

Strängoperationer

FunktionBeskrivning
_EncodeHtml(term)HTML-koda en sträng
_DecodeHtml(term)HTML-avkoda en sträng
_EncodeUrl(term)URL-koda en sträng
_DecodeUrl(term)URL-avkoda en sträng
_EncodeToBase64String(str)Base64-koda en sträng
_DecodeFromBase64String(str)Base64-avkoda en sträng
_GetStringHash(value)Hämta SHA256-hash av en sträng
_ClearTextFormatting(text)Ta bort HTML-taggar från text

Datum och tid

FunktionBeskrivning
_ConvertToDate(date)Tolka en sträng till ett datum
_ConvertDateToTicks(date)Konvertera ett datum till ticks
_ConvertDateFormat(date, format)Formatera ett datum med ett anpassat mönster
_ConvertTimeFromUtc(date, timezoneId)Konvertera från UTC till en specifik tidszon
_ConvertTimeToUtc(date, timezoneId)Konvertera från en tidszon till UTC
_AddToDate(date, days, hours, minutes, seconds)Lägg till tid på ett datum
_CompareDates(date1, date2)Jämför två datum
_GetFirstDateOfWeek(date)Hämta måndagen i datumets vecka
_GetLastDateOfWeek(date)Hämta söndagen i datumets vecka
_GetFirstDateOfMonth(date)Hämta första dagen i månaden
_GetLastDateOfMonth(date)Hämta sista dagen i månaden
_GetDatePart(date, datePart)Extrahera en del: year, month, day, dayofweek, week, hour, minute, second
_GetDateDiff(startDate, endDate, diffType)Hämta skillnaden i days, hours, minutes, seconds eller ticks

Artefakter

FunktionBeskrivning
_GetArtifact(artifactName)Hämta metadata för en artefakt
_GetArtifactContent(artifactName)Hämta innehållet i en artefakt
_SaveArtifact(artifactName, content, contentType)Spara innehåll som en artefakt
_DeleteArtifact(artifactName)Ta bort en artefakt
_UploadArtifact(url, token, artifactName, useMultipart)Ladda upp en artefakt till en extern URL
_DownloadArtifact(url, token, artifactName)Ladda ner en fil och spara som artefakt
_ExtractArtifact(artifactName, password)Extrahera ett ZIP- eller krypterat arkiv

PDF och QR-koder

FunktionBeskrivning
_GeneratePdf(html, artifactName)Generera en PDF från HTML-innehåll
_ExtractPdfPages(extractType, artifactName, searchTerm, ...)Extrahera innehåll från en PDF
_GenerateQrCode(content, pixelsPerModule, drawQuietZones, artifactName)Generera en QR-kodbild

Kryptering

FunktionBeskrivning
_Encrypt(salt, str, encryption)Kryptera med HMACSHA256, SHA512 eller SHA256
_GetClientAssertion(pem, aud, iss, sub, scope)Generera en JWT-klientassertion
_MathModulus(a, b)Modulooperation

Loggning och kontrollflöde

FunktionBeskrivning
_Log(logMessage)Logga ett meddelande (syns bara i verbose-läge)
_RaiseError(errorMessage)Stoppa jobbet med ett fel

Exempel

Hämta data från ett API, tolka det, spara som en artefakt och logga resultatet:

var data = _MakeHttpRequest("https://api.example.com/items", "Bearer token123", "GET", null, null, null, 3, null);
var parsed = JSON.parse(data);
_SaveArtifact("items.json", JSON.stringify(parsed), "application/json");
_Log("Sparade " + parsed.length + " objekt");

Tips

TIPS

Använd _GetVariable och _SetVariable för att skicka data mellan åtgärder inom samma jobbkörning. Variabler finns kvar under hela körningen.

TIPS

Använd _Log för att lägga till felsökningsutdata under utveckling. Loggmeddelanden visas bara när jobbet körs i verbose-läge.

TIPS

Radbrytningar i din JavaScript-kod kan använda <lf> som platshållare — det ersätts med en faktisk radbrytning vid körning.

Vanliga misstag

VARNING

Alla inbyggda funktioner har prefixet _. Att anropa GetInput() utan understreck kommer att misslyckas — använd _GetInput().

VARNING

_MakeHttpRequest kastar inte ett fel vid icke-200-svar som standard. Kontrollera svarsinnehållet för att hantera API-fel i din logik.