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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_MakeHttpRequest(url, token, method, headers, body, contentType, numberOfRetries, responseErrorText) | Skicka ett HTTP-anrop till en extern tjänst |
Datakonvertering
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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
| Funktion | Beskrivning |
|---|---|
_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.