Een workflow maken die een externe API aanroept - Data360_Govern - Nieuwste

Help Data360 Govern

Product type
Software
Portfolio
Verify
Product family
Data360
Product
Data360 Govern
Precisely Data Integriteit Suite > Govern
Version
Nieuwste
Language
Nederlands
Product name
Data360 Govern
Title
Help Data360 Govern
Copyright
2023
First publish date
2014

U kunt de workflowactiviteit HTTP-request gebruiken om een verzoek naar een extern systeem te sturen als een specifieke actie plaatsvindt in Data360 Govern.

In het volgende voorbeeld wordt beschreven hoe u een workflow maakt die verbinding maakt met de Jira API om een nieuw Jira-ticket te maken als een gebruiker een probleem meldt met de gegevenskwaliteit in Data360 Govern:

Stap Beschrijving
Stap 1 - De workflow opstellen

Gebruik de workfloweditor om uw workflow te op te stellen.

Stap 2 - Configureer de HTTP-requestactiviteit

Configureer de HTTP-requestactiviteit om een POST-verzoek naar Jira te verzenden om een nieuw ticket te maken.

Stap 3 - Configureer de voorwaardelijke transities

Gebruik voorwaardelijke transities om te bepalen welke e-mail (foutmelding of geslaagd) naar de initiator van de workflow wordt verzonden.

Stap 4 - Activiteiten voor e-mailmeldingen configureren

Configureer de workflow om een e-mail te verzenden waarin de initiator wordt geïnformeerd over het resultaat van de HTTP-request.

Stap 5 - Een HTTP-reactietaak toevoegen Voeg optioneel een HTTP-antwoordtaak toe aan de werkstroom om bijkomende stappen mogelijk te maken om JSON-gebaseerde eigenschappen op te halen uit de API.

Stap 1 - De workflow opstellen

In dit voorbeeld wordt ervan uitgegaan dat u al een actietype hebt gemaakt waarop u de workflow wilt baseren. Zie Actietypen definiëren voor meer informatie over actietypen.

  1. Ga naar Configuratie > Workflows.
  2. Klik op de knop Toevoegen in het deelvenster Workflowtypen om een nieuwe workflow te maken.
  3. Voer een Naam in voor de workflow, bijvoorbeeld "Jira-ticket maken".
  4. Selecteer in de lijst Type wijzigen de optie Item toegevoegd.
  5. Selecteer in de lijst Objecttype uw Actietype voor gegevenskwaliteit, bijvoorbeeld Actietype :: Gegevenskwaliteitsprobleem melden.
  6. Klik op Volgende.
  7. Stel de workflow op door de vereiste activiteiten links van het scherm naar het gebied voor het bewerken van de workflow te slepen. Bijvoorbeeld:

    HTTP-request-workflow

Tip: Zie Actietypeworkflow maken voor meer informatie over het maken van een workflow die wordt gestart als een gebruiker een probleem meldt.

Stap 2 - Configureer de HTTP-requestactiviteit

Configureer de HTTP-requestactiviteit om een POST-verzoek naar Jira te verzenden om een nieuw ticket te maken.

De exacte instellingen die zijn vereist voor het configureren van de HTTP-requestactiviteit kunnen variëren, afhankelijk van de externe API waarmee u verbinding maakt. In het volgende voorbeeld wordt getoond hoe u deze workflowactiviteit configureert voor verbinding met de Jira-API.

  1. Selecteer de activiteit HTTP-request in de workflow die u hebt opgesteld in de vorige stap.
  2. Voeg de volgende Kopteksten voor de aanvraag toe:
    Sleutel Waarde
    Autorisatie Basis <base64 versleuteld e-mailadres:API-sleutel>
    Inhoudstype toepassing/json

    U kunt een workflowtoken ook gebruiken in het veld Waarde van de header. Deze kunnen echter niet worden gebruikt in het veld Sleutel. U kunt als volgt een token opnemen:

    • Voer het handmatig in of:
    • Kopieer deze vanaf elders en plak deze in het veld Waarde.

    Wanneer de workflow wordt uitgevoerd, worden de tokens vervangen door hun waarde.

    U maakt als volgt uw autorisatieheaderwaarde: Combineer het e-mailadres dat u gebruikt om een verbinding met Jira te maken met uw API-sleutel voor Jira in de volgende indeling: <email_address>:<API_key> Dan codeert base64 deze waarde. Neem de gecodeerde base64-waarde en voeg deze toe aan de kolom met de koptekstwaarde Authorisatie, voorafgegaan door het woord Basic en een spatie. Bijvoorbeeld:

    Basic FG5vYmxlQGluZm7mbXguY30uOmD5S3QoEjAnejKLUYpWZ2Y1enlvPLMxOQ==

    Zie de documentatie over Jira voor meer informatie over het verkrijgen van de API-sleutel voor Jira, bijvoorbeeld: https://confluence.atlassian.com/cloud/api-tokens-938839638.html

    Opmerking: Als u één van de volgende Inhoudskopteksten gebruikt, moet u ook een waarde opgeven in het veld Hoofdtekst: "Type inhoud", "Inhoud-MD5", "Versleuteling van Inhoud" en "Lengte van Inhoud". Als u een van deze kopteksten gebruikt zonder een waarde voor Hoofdtekst, wordt de workflowstap voor de HTTP-request niet voltooid.
  3. Selecteer de Methode. Kies uit: GET, POST, PUT of DELETE. Selecteer in dit geval POST.
  4. Voer de URL van het externe API-eindpunt in, bijvoorbeeld: https://example.atlassian.net/rest/api/2/issue
    Tip: U kunt tokens Veldwaarde toevoegen toevoegen aan de URL door de tokenwaarde uit het veld Hoofdtekst te kopiëren en plakken. Zie Configureren van e-mailmeldingen voor voorbeelden van tokens.
  5. Voer de Hoofdtekst van het verzoek in. Als u bijvoorbeeld een nieuw ticket in Jira wilt maken, kunt u JSON gebruiken voor referentie naar de Jira-projectsleutel en -velden:
    {   "fields": {       "project":       {         "key": "TEST"       },       "summary": "Data quality issue",       "description": "A data quality issue has been raised in Data360 Govern.",       "issuetype": {         "name": "Bug"       }   } }

    Hiermee wordt een nieuwe Jira-bug gemaakt in het "TEST"-project, met een samenvatting en een beschrijving die overeenkomen met de informatie in de hoofdtekst van de aanvraag:

  6. Stel de gewenste Time-out voor aanvraag in, tot maximaal 600 seconden. De standaardwaarde is 90 seconden.

Zie de documentatie over Jira voor meer informatie over het implementeren van dit voorbeeld: https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/

Stap 3 - Configureer de voorwaardelijke transities

Gebruik voorwaardelijke transities om te bepalen welke e-mail (foutmelding of geslaagd) naar de initiator van de workflow wordt verzonden.

Tip: Als u nog niet bekend bent met hoe workflowtransities worden geconfigureerd, raadpleegt u Transities.
  1. Voeg bij de transitie die leidt tot de voltooide E-mailmelding-activiteit de volgende voorwaarde toe:
    Veld Operator Waarde
    HTTPRequest :: Statuscode < 299

    Hiermee wordt opgegeven dat een e-mail wordt verzonden waarin wordt aangegeven dat de HTTP-request is geslaagd als de HTTP-statuscode van antwoord lager is dan 299.

  2. Voeg de volgende voorwaarde toe aan de transitie die leidt naar de E-mailmelding-activiteit die de foutmelding bevat:
    Veld Operator Waarde
    HTTPRequest :: Statuscode > 299

    Hiermee wordt opgegeven dat een e-mail wordt verzonden waarin wordt aangegeven dat de HTTP-request is mislukt als de HTTP-statuscode van antwoord hoger is dan 299.

Stap 4 - Activiteiten voor e-mailmeldingen configureren

  1. Selecteer de activiteit E-mailmelding over het slagen en typ een Naam, bijvoorbeeld "POSTEN-verzoek geslaagd".
  2. Selecteer het Type ontvanger in het vak Initiator.
  3. Typ een Onderwerp en een Hoofdtekst voor de e-mail. De Hoofdtekst kan bijvoorbeeld het volgende zijn:

    Er is een nieuw Jira-ticket gemaakt om een probleem met gegevenskwaliteit te volgen. De HTTP-statuscode van antwoord is: [HTTPREQUEST|365|statusCode]De tekst van reactie is: [HTTPREQUEST|365|reactieBody]

    In dit voorbeeld worden de tokens HTTP-request :: Statuscode en HTTP-request :: Tekst van reactie gebruikt, die worden vervangen door de API-antwoordwaarden in de e-mail die naar de initiator wordt verzonden. Bijvoorbeeld:

    HTTP-antwoord op workflow-e-mail

    In de tekst van reactie van de e-mail staat het ticketnummer voor de nieuwe bug die is gemaakt in Jira.

  4. Selecteer de activiteit E-mailnotificatie met de foutmelding en typ een Naam, zoals "POSTEN-verzoek mislukt".
  5. Selecteer het Type ontvanger in het vak Initiator.
  6. Typ een Onderwerp en een Hoofdtekst voor de e-mail. De Hoofdtekst kan bijvoorbeeld het volgende zijn:

    Er is een fout opgetreden die het maken van een nieuw Jira-ticket heeft verhinderd. De statuscode HTTP-antwoord is: [HTTPREQUEST|365|statusCode]De tekst van reactie is: [HTTPREQUEST|365|reactieBody]

    In dit voorbeeld worden de tokens HTTP-request :: Statuscode en HTTP-request :: Tekst van reactie gebruikt, die worden vervangen door de API-antwoordwaarden in de e-mail die naar de initiator wordt verzonden. Bijvoorbeeld:

    HTTP-antwoord op workflow-e-mail

    De e-mail bevat details over de fout in de tekst van reactie en de statuscode van antwoord, zodat u probleemoplossing kunt uitvoeren.

Opmerking: De volledige reactie wordt weergegeven in de indeling waarin deze wordt geretourneerd vanuit de API, bijvoorbeeld JSON of XML.
Tip: Als u de naam van uw HTTP-requestactiviteit hebt gewijzigd, worden in de tokens HTTP-request :: Statuscode en HTTP-request :: Tekst van reactie de naam weergegeven. Dit is handig wanneer u een workflow hebt die meerdere HTTP-requestactiviteiten bevat. Dit is ook van toepassing op HTTP-reactieactiviteiten.

Stap 5 - Een HTTP-reactietaak toevoegen

Een HTTP-reactietaak kan worden toegevoegd aan een HTTP-requestworkflow om verdere stappen in te schakelen voor het ophalen van JSON-gebaseerde eigenschappen uit de relevante API.

  1. Maak een nieuwe workflowtaak voor HTTP-reactie.

  2. Selecteer via het tabblad Bewerken van het deelvenster voor het bewerken van de HTTP-reactie, de toepasselijke taak voor de stroomopwaartse HTTP-request om verbinding te maken met de invoer.

  3. Ga naar Uitvoer en klik op de knop Toevoegen (+) om de velden van de uitvoerconfiguratie weer te geven, en voer het volgende in:

    1. Een herkenbare naam van uw keuze. Bijvoorbeeld "Jira-sleutel".
    2. Het juiste en geldige JSON-pad.
    Opmerking: Als het pad ongeldig is of als de reactie niet de eigenschap bevat waarop het pad wordt gericht (bijvoorbeeld als de aanvraag mislukt), zal de waarde een lege reeks zijn.

    Als bijvoorbeeld het JSON-pad is ingesteld op "sleutel", kan het antwoord van de API gelijk zijn aan het volgende:

    {

    "id":"1234",

    "key":"GOV-16569",

    "self":"http://localhost:8080/rest/api/2/issue/1234"

    }

Opmerking: Elk mogelijke aantal uitvoeren kan worden toegevoegd, maar er is er ten minste één vereist.

Andere stappen in de workflow kunnen nu de uitgangswaarden voor de reactie gebruiken. Bijvoorbeeld in e-mailtokens of in een veldwijzigingsstap.

Tip: Klik op de naam van de workflow in Workflow > Workflowitems om de stappen weer te geven die de workflow bevat, gevolgd door "HTTP-reactie" in het deelvenster Stappen om de uitvoerna(a)m(en), pad(en) en waarde(n) weer te geven.