JavaScript Hilfsfunktionen
Automatisierungsregeln umfassen eine Bibliothek mit Hilfsfunktionen, die bei der Lösung gängiger Aufgaben im JavaScript Code helfen.
Lade-Hilfsfunktionen
Hilfsfunktionen sind standardmäßig nicht verfügbar. Sie müssen in JavaScript die Regel geladen werden. Es gibt mehrere Möglichkeiten, sie zu laden:
const utils = require("utils");
const utils = require("utils");
return utils.createResource("Task", {
Project: { Id: args.Current.Project.Id },
UserStory: {Id: args.ResourceId},
Name: "Created Automatically"
});
const {createResource, updateResource, addDays} = require("utils");
const { createResource } = require("utils");
return createResource("Task", {
Project: { Id: args.Current.Project.Id },
UserStory: { Id: args.ResourceId },
Name: "Created Automatically"
});
Die Liste der Hilfsfunktionen
Befehle
Befehl zum Erstellen einer neuen Ressource:createResource(resourceType: string, fields?: ResourceFields)
const utils = require("utils");
return utils.createResource("UserStory", {
Project: { Id: args.Current.Project.Id },
Feature: { Id: args.ResourceId },
Name: "Created Automatically"
});Befehl zum Aktualisieren einer vorhandenen Ressource: updateResource(resourceType: string, resourceId: number, fields: ResourceFields)const utils = require("utils");
return utils.updateResource("Feature", args.ResourceId, { Release: { id: 100 } });Befehl zum Löschen einer vorhandenen Ressource: deleteResource(resourceType: string, resourceId: number)const utils = require("utils");
return utils.deleteResource("TeamAssignment", 50);Befehl zum Verschieben einer vorhandenen Ressource in einen anderen Zustand: moveToState(resourceType: string, resourceId: number, stateKind: 'Initial' | 'Planned' | 'Final')const utils = require("utils");
return utils.moveToState("Epic", args.ResourceId, "Final");Befehl zum Verschieben einer vorhandenen Ressource anhand ihres Namens in einen anderen Status: moveToStateByName(resourceType: string, resourceId: number, stateKind: string)const utils = require("utils");
return utils.moveToStateByName("UserStory", args.ResourceId, "In Progress");Befehl zum Senden HTTP einer Anfrage: sendHttpRequest(url: string, options?: { method?: 'POST' | 'PUT' | 'DELETE', body?: any, headers?: { [key: string]: string } })const utils = require("utils");
return utils.sendHttpRequest("https://hooks.slack.com/services/...", {
body: {
text: ___PROTECTED_6___
}
});
const utils = require("utils");
return utils.sendHttpRequest("https://webhook.site/...",
{
method: "POST",
body: "Hello",
headers: {"additional-info": "test message" }
}
);
Arbeiten mit Datumsangaben
Funktionen, die einem Datum einen Zeitraum hinzufügen
Fügen Sie die angegebene Anzahl von Millisekunden zum angegebenen Datum hinzu:addMilliseconds(date: DateLike, milliseconds: number): Date Fügen Sie die angegebene Anzahl von Sekunden zum angegebenen Datum hinzu: addSeconds(date: DateLike, seconds: number): Date Fügen Sie die angegebene Anzahl von Minuten zum angegebenen Datum hinzu: addMinutes(date: DateLike, minutes: number): Date Fügen Sie die angegebene Anzahl von Stunden zum angegebenen Datum hinzu: addHours(date: DateLike, hours: number): Date Fügen Sie die angegebene Anzahl von Tagen zum angegebenen Datum hinzu: addDays(date: DateLike, days: number): Date Fügen Sie die angegebene Anzahl von Wochen zum angegebenen Datum hinzu: addWeeks(date: DateLike, weeks: number): Date Fügen Sie die angegebene Anzahl von vollen Monaten zum angegebenen Datum hinzu: addMonths(date: DateLike, months: number): Date Fügen Sie die angegebene Anzahl voller Jahre zum angegebenen Datum hinzu: addYears(date: DateLike, years: number): Date Hier ist ein Beispiel für die Berechnung eines Datums auf der Grundlage eines anderen Datums:const utils = require("utils");
const kickStartDate = new Date("2019-03-15T12:00:00Z");
const demoDate = utils.addDays(kickStartDate, 14);
console.log(kickStartDate); // 2019-03-15T12:00:00Z
console.log(demoDate); // 2019-03-29T12:00:00Z
Funktionen, die die Differenz zwischen den angegebenen Daten berechnen
Die Anzahl der Millisekunden zwischen den angegebenen Daten:differenceInMilliseconds(date: DateLike, deduction: DateLike): number Die Anzahl der Sekunden zwischen den angegebenen Daten. Das Ergebnis wird standardmäßig auf null Dezimalstellen gekürzt. Übergeben Sie „true“ als drittes Argument, um ein Ergebnis mit Gleitkommazahl zu erhalten: differenceInSeconds(date: DateLike, deduction: DateLike, asFloat?: boolean): number Die Anzahl der Minuten zwischen den angegebenen Daten: differenceInMinutes(date: DateLike, deduction: DateLike, asFloat?: boolean): number Die Anzahl der Stunden zwischen den angegebenen Daten: differenceInHours(date: DateLike, deduction: DateLike, asFloat?: boolean): number Die Anzahl der Tage zwischen den angegebenen Daten: differenceInDays(date: DateLike, deduction: DateLike, asFloat?: boolean): number Die Anzahl der Wochen zwischen den angegebenen Daten: differenceInWeeks(date: DateLike, deduction: DateLike, asFloat?: boolean): number Die Anzahl der Monate zwischen den angegebenen Daten: differenceInMonths(date: DateLike, deduction: DateLike, asFloat?: boolean): number Die Anzahl der Jahre zwischen den angegebenen Daten: differenceInYears(date: DateLike, deduction: DateLike, asFloat?: boolean): number Prüft, ob die angegebenen Daten gleich sind, und gibt „true“ oder „false“ zurück: equalDates(date: DateLike, other: DateLike): booleanconst utils = require("utils");
const plannedFeatureStartDate = "2019-04-01T00:00:00Z";
const plannedFeatureEndDate = "2019-05-15T00:00:00Z";
const featureDurationInWeeks = utils.differenceInWeeks(plannedFeatureEndDate, plannedFeatureStartDate, true);
console.log(featureDurationInWeeks); // 6.285714285714286
Arbeiten mit Zahlen und Zeichenfolgen
Rundungsfunktion
Rundet auf eine bestimmte Anzahl von Dezimalstellen:round(value: number, precision?: number): numberconst utils = require("utils");
const spentHours = args.Current.TimeSpent; // 11
const spentDays = spentHours / 8; // 1.375
const roundedSpentDays = utils.round(spentDays, 2);
console.log(roundedSpentDays); // 1.38
Trunkierungsfunktion
Kürzt Zeichenfolgen, die länger als die angegebene Länge sind. Die letzten Zeichen der abgeschnittenen Zeichenfolge werden durch „...“ ersetzt:truncate(text: string, length?: number): stringconst utils = require("utils");
const name = args.Current.Name;
const truncatedName = utils.truncate(name, 50);
console.log(truncatedName); // Lorem ipsum dolor sit amet, consectetur adipisc...