Variabelen gebruiken in een Python/HCL-script
Als u een Python/HCL-script maakt in de Robots-scripteditor, kunt u twee verschillende soorten variabelen maken:
-
Python-variabelen normale Python-variabelen gedefinieerd in de hoofdtekst van het script
-
HCL-variabelen HCL-variabelen gedefinieerd in het venster Variabelen
De twee soorten variabelen dienen verschillende doeleinden, zoals uitgelegd in de volgende paragrafen.
HCL wijst ook automatisch waarden toe aan ingebouwde systeemvariabelen op basis van de Diligent One-organisatie waarin een script wordt uitgevoerd en de modus waarin het script wordt uitgevoerd (ontwikkeling of productie). Voor meer informatie raadpleegt u system_variable[] methode.
U kunt alle drie soorten variabelen samen gebruiken in hetzelfde script.
Python-variabelen
Python-variabelen in een Python/HCL-script werken op dezelfde manier als in elk ander Python-script. Als waarden in een script kunnen veranderen, kunt u in de scriptlogica verwijzen naar variabelen in plaats van letterlijke waarden. U kunt Python-variabelen overal in het script aanmaken waar u ze nodig hebt.
Voorbeeld van Python-variabelen
Het onderstaande voorbeeld doorloopt een lijst met getallen en verheft elk getal in de lijst tot de tweede macht. Omdat de getallen in de lijst veranderen, gebruikt de scriptlogic variabelen in plaats van letterlijke waarden:
-
list_of_numbers – een variabele toegewezen aan de lijst met getallen
-
v_number – een variabele toegewezen aan een enkel getal in de lijst
-
v_squared_number – een variabele toegewezen aan het resultaat van v_number * v_number
Bij elke herhaling van de for-lus worden de waarden van de variabelen v_number en v_squared_number bijgewerkt.
list_of_numbers = [1, 2, 3, 4, 5]
for v_number in list_of_numbers:
v_squared_number = v_number * v_number
print(v_squared_number)
Script-uitvoer:
1 4 9 16 25
HCL-variabelen
HCL-variabelen dienen twee hoofddoelen:
-
Ze vormen de basis voor taakinvoerparameters in robottaken.
-
Ze bieden veilige opslag van gevoelige informatie zoals wachtwoorden en authenticatietokens.
In Robots kunnen deze vereisten niet worden verwezenlijkt met Python-variabelen. U moet HCL-variabelen gebruiken.
Het Variabelen-venster
In de Robots-scripteditor biedt het venster Variabelen een centrale locatie voor het definiëren van alle HCL-variabelen die een script nodig heeft. Met name in het venster Variabelen definieert u scriptvaribelen die invoerwaarden opslaan die gebruikers opgeven bij het uitvoeren of plannen van een robottaak. Bijvoorbeeld:
-
een v_department-variabele waarmee gebruikers een specifieke afdeling kunnen opgeven wanneer ze een taak uitvoeren of plannen
-
een variabele die op een veilige manier een verificatiereferentie beheert die nodig is om toegang te krijgen tot een gegevensbron, zoals een wachtwoord of een verificatietoken
U kunt ook het venster Variabelen gebruiken om een HCL-variabele te definiëren die alleen in de context van het script wordt gebruikt – bijvoorbeeld v_org_id. De eenvoudigere aanpak in deze situatie is echter om een standaard Python-variabele in de hoofdtekst van het script te maken in plaats van een HCL-variabele te definiëren.
Definitievelden voor variabelen
Nummer | Beschrijving |
---|---|
1 |
Naam bevat de variabelenaam, zoals v_department |
2 |
Type specificeert het variabeletype |
3 |
Waarde de beginwaarde die aan de variabele wordt toegewezen bij het interactief uitvoeren van een script in de scripteditor |
Invoervelden voor robottaken
Nummer | Beschrijving |
---|---|
4 |
Taakinvoer geeft aan dat de variabele wordt gebruikt met een taakinvoerparameter in de Taakontwerper
|
5 |
Label taakinvoer maakt een label voor de invoerparameter die de gebruiker in de Taakontwerper ziet - bijvoorbeeld: Voer een afdeling in Beschrijving van taakinvoer (optioneel) maakt een beschrijving voor de invoerparameter die extra details toevoegt die nuttig kunnen zijn voor de gebruiker |
Gebruik het venster Variabelen om een HCL-variabele te definiëren
Definieer een HCL-variabele zoals v_department of v_password voor gebruik met een invoerparameter voor robottaken in de Taakontwerper.
Opmerking
HCL-variabelen zijn voornamelijk bedoeld voor gebruik met invoer van robottaken, zoals scriptconfiguratieopties, wachtwoorden of tokens. Voor scriptvariabelen die niet worden gebruikt met taakinvoer, is de eenvoudigere aanpak om een standaard Python-variabele te definiëren in de hoofdtekst van het script.
Een basisvariabele definiëren
-
Klik vanuit de Robots-scripteditor op Variabelen beheren
.
-
In het venster Variabelen klikt u op Variabele toevoegen.
-
Geef de volgende waarden op om de basisdefinitie van de variabele te maken:
Veld Beschrijving Naam Geef de variabelenaam op. Bijvoorbeeld: v_department of v_password.
Opmerking
Een variabele die een Diligent One-token opslaat, moet exact deze naam gebruiken: v_hb_token
Voor informatie over het verkrijgen van een Diligent One-token raadpleegt u Diligent One-toegangstokens aanmaken en beheren.
Type Selecteer het variabeletype:
-
Teken voor tekst
-
Wachtwoord voor het veilig beheren van wachtwoorden of tokens
-
Systeemgebruiker (beschikbaar met toolkits) voor het autoriseren van Diligent One-platformbewerkingen zonder verwijzing naar een daadwerkelijke gebruiker, vergelijkbaar met een serviceaccount
Let op
Bewerk geen systeemgebruikersvariabelen, tenzij u daar een reden voor hebt.
Waarde Voer een variabele waarde in. De waarde voor een wachtwoordvariabele kan maximaal 8 KB lang zijn.
De waarde die u invoert, is de beginwaarde die aan de variabele wordt toegewezen bij het interactief uitvoeren van een script in de scripteditor.
Opmerking
Voor een variabele die is gekoppeld aan een taakinvoer, is de waarde alleen beschikbaar in de scripteditor. Het wordt niet overgenomen als standaardwaarde in de Taakontwerper.
-
Een bijbehorende taakinvoerparameter configureren
Als de variabele wordt gebruikt met een taakinvoerparameter in de Taakontwerper, moet u aanvullende instellingen opgeven.
-
Klik op de schakelaar om Taakinvoer in te schakelen.
Schakel deze instelling in om de gebruiker in de Taakontwerper om een waarde te vragen. De variabele slaat de waarde op die door de gebruiker is ingevoerd tijdens het uitvoeren of plannen van de taak.
-
Als u de gebruiker de mogelijkheid wilt geven om geen invoerwaarde op te geven, selecteert u Gebruikersinvoer optioneel.
Bepaalde waarden kunnen het gedrag van het script wijzigen, maar zijn mogelijk niet vereist om het script uit te voeren. Bijvoorbeeld: optionele door de gebruiker opgegeven begin- en einddatums kunnen de analyse beperken tot slechts een bepaald bereik van de gegevens.
-
Voer in Taakinvoerlabel het label in dat de gebruiker in de Taakontwerper voor deze parameter zal zien.
Bijvoorbeeld: Voer een afdeling in of Voer uw Diligent One-token in.
-
Optioneel. Voeg in Beschrijving taakinvoer extra details toe die de gebruiker helpen bij het invoeren van een waarde voor de parameter.
De variabele definitie opslaan
-
Klik op Opslaan en sluiten om de variabele-definitie op te slaan en het venster Variabelen te sluiten.
-
Klik op Opslaan en toepassen om het script op te slaan met de bijgewerkte variabele definitie.
Opmerking
U moet het script opslaan en committen om de variabele-definitie permanent op te slaan.
-
Typ een toepassingsbericht en klik op Toepassen.
Er verschijnt een bericht dat bevestigt of het script succesvol is toegepast.
Het script opnieuw uitvoeren
Het opslaan van de inhoud van het venster Variabelen wist automatisch het sessiegeheugen in de scripteditor. Geïmporteerde Python-bibliotheken, Python-woordenboeken, gegenereerde dataframes of variabelewaarden die in het geheugen zijn opgeslagen, zijn niet langer beschikbaar. Als u een scriptcel uitvoert die afhankelijk is van iets dat eerder in het geheugen is opgeslagen, krijgt u een foutmelding of een onverwacht resultaat.
Om het sessiegeheugen terug te brengen naar de vorige staat, voert u het volledige script opnieuw uit of voert u alle vereiste cellen opnieuw uit.
Een HCL-variabele gebruiken in een script
Om een HCL-variabele in een script te gebruiken, moet u naar de variabele verwijzen met specifieke HCL-syntaxis.
Naar een HCL-karaktervariabele verwijzen
Om naar een HCL-tekenvariabele te verwijzen, gebruikt u de volgende syntaxis: hcl.variable["variable_name"]
Bijvoorbeeld:
print(hcl.variable["v_department"])
Script-uitvoer:
Activiteiten
Voor gedetailleerde informatie over de vereiste syntaxis, zie variable[] methode.
Naar een HCL-wachtwoordvariabele verwijzen
Om te verwijzen naar een HCL-wachtwoordvariabele gebruikt u de volgende syntaxis: hcl.secret["variable_name"].unmask()
Bijvoorbeeld:
print(hcl.secret["v_hb_token"].unmask())
Script-uitvoer:
zq025f72938e4s...
Voor gedetailleerde informatie over de vereiste syntaxis, zie secret[] methode.
Een HCL-variabele toewijzen aan een Python-variabele
Voor het gemak kunt u een HCL-variabelewaarde toewijzen aan een reguliere Python-variabele en vervolgens eenvoudig naar de Python-variabele verwijzen.
Bijvoorbeeld:
department = hcl.variable["v_department"]
print(department)
token = hcl.secret["v_hb_token"].unmask()
print(token)
Script-uitvoer:
Activiteiten zq025f72938e4s...