Skip to main content

Wijzigingen in bulk of lussen met herhalende stappen uitvoeren

Voor sommige actiereeksen kan het uitvoeren van een bepaalde stap voor elk item op een lijst je helpen om tijd te besparen en de geautomatiseerde actie efficiënter te maken. Wanneer bijvoorbeeld een bedrijfsmiddel stuk blijkt te zijn, wil je alle geplande reserveringen annuleren en de aanvrager op de hoogte brengen.

Door herhalende stappen in een actiereeks te gebruiken, kun je TOPdesk één of meer stappen een vast aantal keren laten uitvoeren. Handig voor het toepassen van wijzigingen op meerdere kaarten of het activeren van lussen na het activeren van een actie op slechts één kaart. Een herhalende stap kan je bijvoorbeeld helpen alle reserveringen te annuleren of alle personen bij te werken die aan een bedrijfsmiddel gekoppeld zijn.

Opmerking

Het herhalen van stappen is een meer geavanceerde functionaliteit in Actiebeheer en Middelenacties, maar tegelijkertijd een krachtige functionaliteit bij het opzetten van automatiseringen in TOPdesk. Voordat je in de wereld van herhalende stappen duikt, raden wij je aan eerst kennis te maken met het opzetten van meer eenvoudige actiereeksen.

Je kunt herhalende stappen gebruiken in combinatie met reguliere stappen van actiereeksen. Om dit hoofdstuk toegespitst te houden op wat herhalende stappen anders maakt dan die andere stappen, bespreken we niet elk detail van de opzet.

In dit hoofdstuk zullen we eerst de mogelijkheden bekijken die beschikbaar zijn bij het gebruik van herhalende stappen. Daarna bespraken we een voorbeeld waarin deze functionaliteit wordt gebruikt.

Waarschuwing

Een risico van het maken van lussen is dat het kan leiden tot te veel herhalingen. Als bescherming tegen configuratiefouten is het aantal keren dat een geautomatiseerde actie binnen 15 minuten op dezelfde kaart kan worden geactiveerd beperkt tot 100.

Een herhalende stap toevoegen aan een actiereeks

Een herhalende stap kan, net als bij een HTTP-stap, worden toegevoegd aan een actiereeks. Je vindt de optie om een herhalende stap toe te voegen nadat je besloten hebt om een actiereels als actie te activeren.

Opmerking

Herhalende stappen zijn momenteel beschikbaar voor Middelenacties, webhooks, en ingeplande acties.

In dit hoofdstuk kijken we vooral naar de verschillende functionaliteiten binnen een herhalende stap. In Voorbeeld voor het opzetten van herhalende stappen bekijken we een voorbeeld en gebruiken we de FreeMarker-taal om meer uit deze functionaliteit te halen.

Om een herhalende stap aan een actie toe te voegen, klik je op Een herhalende stap toevoegen om een stap toe te voegen die meerdere keren moet worden uitgevoerd binnen je actiereeks.

'Add a repeating step' on a new action.

Nadat je op de knop 'Een herhalende stap toevoegen' hebt geklikt, wordt een nieuwe stap aan de actiereeks toegevoegd.

Tip

Je kunt een bestaande stap verplaatsen naar een herhalende stap door te klikken op het move_into_repeating_step.png pictogram in je bestaande stap (de pijl die wijst in de richting van de beoogde herhalende stap).

Geef de herhalende stap een naam om hem te onderscheiden van andere herhalende stappen in het overzicht.

Kenmerken in herhalende stappen

Naast verschillende opties die je wellicht herkent van andere stappen in actiereeksen, bevat een herhalende stap de volgende velden en secties om je te helpen bij het configureren van de stap:

  • Aantal herhalingen: Dit veld helpt je om te bepalen hoe vaak de stap herhaald moet worden, en om de lijst te specificeren waarop de actie herhaald wordt. Een gebruikelijke manier om dit veld te vullen is door je actiereeks te beginnen met een gewone HTTP stap. In die stap vraag je een lijst op en gebruik je de lengte van deze lijst als het aantal herhalingen. In de herhalende stap gebruik je deze lijst om TOPdesk te vertellen welke kaarten (meestal) gebruikt moeten worden. Zie voor een voorbeeld en meer informatie Voorbeeld voor het opzetten van herhalende stappen.

  • Te herhalen stappen: bevat opties om een HTTP-stap, e-mailstap, en/of Genereer document-stap toe te voegen aan je herhalende stap. Elk van de hier toegevoegde stappen zal het aantal keren worden herhaald dat is bepaald in "Aantal herhalingen". Dit zijn de feitelijke stappen die TOPdesk meerdere malen gaat uitvoeren.

  • Blijven herhalen: bepaal of de stap moet blijven herhalen, ongeacht of de vorige herhaling geslaagd is(Altijd), of dat de herhalende stap moet stoppen als de laatste herhaling mislukt is(Alleen als alle vorige herhalingen geslaagd zijn).

  • Deze stap uitvoeren: Beperk de uitvoering van de stap. Pas aangepaste voorwaarden toe, voer alleen uit als alle vorige stappen zijn geslaagd, combineer de twee of voer de stap altijd uit.

Herhalingsindex i

Door het veld 'Aantal herhalingen' in te vullen, vertel je TOPdesk hoe vaak de hele herhalingsstap herhaald moet worden. Om te weten hoe ver TOPdesk is in de lijst van herhalingen is bij het uitvoeren van de actiereeks, gebruikt het de variabele i. Dit is de 'herhalingsindex'. De herhalingsindex wordt telkens met één verhoogd wanneer de stap wordt herhaald, totdat het ingestelde aantal totale herhalingen is bereikt.

Binnen de herhalende stap, gebruik je [i] in de code van je stap om bij het i-de element van de lijst te komen. Dit helpt je bij het opvragen van informatie over dat element op de lijst en het te gebruiken in je stap.

Door in je code [i] te gebruiken, vertel je TOPdesk om niet alle stappen op exact dezelfde manier te herhalen, maar de stappen uit te voeren voor element i in de lijst. Zie Voorbeeld voor het instellen van herhalende stappen hieronder voor het gebruik van dit concept.

Voorbeeld voor het instellen van herhalende stappen

In dit voorbeeld kijken we naar het gebruik van herhalende stappen om het mobiele nummer op een Persoonskaart bij te werken telkens het mobiele telefoonnummer op de aan hen toegewezen gsm-middelenkaart gewijzigd werd.

We richten ons hier op de extra stappen die je moet nemen om je herhalende stap op te zetten. Daarom bespreken we niet de trigger (een wijziging op de activakaart van de mobiele telefoon) en verschillende basisonderdelen van de actiereeks zoals autorisatieheaders en variabelen. Deze worden in meer detail uitgelegd in Integreren en automatiseren met actiereeksen.

Tip

Ga naar kennisitem KI 15531 op My TOPdesk voor een ander voorbeeld van herhalende stappen, inclusief het JSON-bestand om de actiereeks te importeren in jouw omgeving.

Leg de basis voor de lijst

In dit voorbeeld bestaat de lijst uit alle Persoonskaarten die gekoppeld zijn aan ons bedrijfsmiddel Mobiele telefoon. We krijgen deze lijst door een GET-request uit te voeren naar onze TOPdesk. De eerste stap in onze actiereeks is een gewone HTTP-stap. Klik op Een HTTP-stap toevoegen om de eerste stap aan te maken. We noemen het 'Alle toewijzingen ophalen'. Gebruik daarna de volgende URL, gebaseerd op Een bestaand middel van een API-eindpunt bijwerken:

/tas/api/assetmgmt/assets/${_card["id"]!}/assignments

Tip

Maak een verbinding aan van het type 'Deze TOPdesk'. Selecteer deze koppeling in je HTTP-stap en je TOPdesk-URL en de inloggegevens voor de autorisatie worden automatisch herkend.

De variabele ${_card["id"]!} vertegenwoordigt UNID (systeemveld) en wordt toegevoegd via de knop Waarde invoegen. Dit zorgt ervoor dat de lijst van toewijzingen van het betrokken bedrijfsmiddel wordt opgevraagd. Wanneer deze stap wordt uitgevoerd, wordt de lijst van alle toewijzingen (inclusief alle personen aan wie de mobiele telefoon is toegewezen) teruggestuurd in de reactie-inhoud.

Afbeelding 1. De eerste stap in onze actiereeks
De eerste stap in onze actiereeks


Aanmaken van de herhalingsstap

Vervolgens voegen we een stap toe die het mobiele telefoonnummer invult op elke Persoonskaart die we zojuist hebben opgevraagd. Klik op Een herhalende stap toevoegen om een nieuwe stap toe te voegen aan de actiereeks die ons de mogelijkheid geeft om een of meer stappen uit te voeren voor elk element in de lijst.

Voer het volgende in op Aantal herhalingen:

${_responses["Alle toewijzingen ophalen"]["body"].persons?size}

De uitleg hiervan is als volgt:

  • ${_responses["Alle toewijzingen ophalen"]...} vertelt TOPdesk om te kijken naar het antwoord van de stap ‘Alle toewijzingen ophalen‘.

  • ["body"] vertelt TOPdesk om naar de inhoud van de reactie te gaan. Dit is de bruikbare inhoud van het antwoord dat we in de eerste stap krijgen.

  • Met .persons navigeert TOPdesk naar het element 'persons' in de reactie-inhoud van de eerste stap.

  • ?size in FreeMarker-taal geeft je de lengte van de lijst. Met andere woorden, het telt hoeveel Persoonskaarten er in het antwoord staan.

Tip

Zie Voorbeeld voor het specificeren van de te gebruiken JSON- of XML-waarde. voor meer informatie over het vinden van de juiste waarden in een reactiebody.

Nu we weten hoe vaak de stap herhaald moet worden, vertellen we TOPdesk welke acties er daadwerkelijk herhaald moeten worden. Om een veld op Persoonskaarten bij te werken, gebruiken we de Een persoon bijwerken op id PUT API-eindpunt om de URLte vullen:

/tas/api/persons/id/${_responses["Get all assignments"]["body"].persons[i].person.id}

We bekijken deze input weer in detail:

  • /tas/api/persons/id/ is het eerste deel van het API-eindpunt, waarmee we TOPdesk vertellen wat we willen bereiken: een persoonskaart bijwerken op basis van zijn id.

  • ${_responses["Alle toewijzingen ophalen"]...} helpt TOPdesk om het juiste id van elke Persoonskaart te vinden. We vertellen TOPdesk om te kijken naar de eerste stap in onze actiereeks.

  • Met ["body"].persons[i].person.id geven we TOPdesk de opdracht om de lijst met personen in de reactie-inhoud op te zoeken, en in die lijst de persoon met nummer i te zoeken. Van deze persoon, pakken we het ID op, aangezien dit de waarde is die verwacht wordt door het API-eindpunt. Merk op hoe i wordt gebruikt om het id van de volgende persoon op de lijst te vinden voor elke herhaling.

Omdat TOPdesk bij elke herhaling i met 1 vermeerdert, weet TOPdesk dat het bij elke herhaling de gegevens van de volgende persoon op de lijst moet ophalen.

Wij vertellen TOPdesk nu wat er op de Persoonskaarten moet gebeuren. In dit voorbeeld vullen we in het veld Inhoud het volgende in om het veld Telefoonnummer van de Middelenkaart te gebruiken en het veld Mobiel nummer van de Persoonskaart te vullen:

{"mobileNumber": „${_card["telefoonnummer"]!}"}

Denk eraan dat 'telefoonnummer' een aangepast veld is in Asset Management. Je kunt om het even welk veld gebruiken om informatie uit te kopiëren.

In dat geval resulteert het in de volgende herhalende stap:

Afbeelding 2. De herhalend stap in onze actiereeks
De herhalend stap in onze actiereeks


Tenslotte gebruiken we het veld Doorgaan met herhalen om in te stellen of de lus altijd moet proberen de lijst te voltooien, of moet stoppen wanneer een herhaling is mislukt.