api_get() methode

Stuurt een GET-verzoek naar de HighBond API.

Syntaxis

hcl.api_get("Details HighBond API-aanvraag")

Parameters

Naam Beschrijving
HighBond_API_request_URL

De verzoekgegevens voor de Diligent One-resource.

hcl.api_get voorziet automatisch in de standaardgegevens van het verzoek op de achtergrond. U hoeft deze aanvraagelemente niet expliciet op te geven, tenzij u een standaardwaarde wilt overschrijven:

  • hostinformatie

  • Diligent One-regio

  • Diligent One-instantie-ID (organisatie-ID)

  • koptekstinformatie

Voor de aanvraagsyntaxis voor een specifieke Diligent One-resource, raadpleeg de HighBond API-referentie.

Opmerking

Als u expliciet hostinformatie opgeeft, moet u het HTTPS-protocol gebruiken om verbinding te maken met de HighBond API. Bijvoorbeeld: https://apis-us.highbond.com

Retourneert

Antwoordobject van de HighBond API-server.

Voorbeelden

Basisvoorbeelden

Opmerking

De hcl.api_get()-methode retourneert een antwoordobject dat alles bevat wat door de HighBond API-server wordt geretourneerd. Het antwoordobject bevat zowel metadata als gegevens. Doorgaans moet u verdere verwerking toepassen op het antwoordobject om gegevens te extraheren die u kunt gebruiken in een Python/HCL-script. Voor meer informatie raadpleegt u Geavanceerde voorbeelden.

Ontvang een lijst van alle projecten in een Diligent One-instantie

Geeft een lijst weer van alle projecten in de Diligent One-instantie waarin u werkt:

hcl.api_get("projects")

Een lijst opvragen van alle verzamelingen in de Diligent One Resultaten-app

Geeft een lijst weer van alle Resultaten-verzamelingen in de Diligent One-instantie waarin u werkt:

hcl.api_get("collections")

Haal een lijst op van alle problemen in een project

Geeft een lijst weer van alle problemen in het project met ID 19756:

hcl.api_get("projects/19756/issues")

Een lijst met problemen ophalen en de velden in het antwoord beperken

Retourneert een lijst van alle problemen in het project met ID 19756 en retourneert alleen de opgegeven velden voor elk probleem:

hcl.api_get("projects/19756/issues?fields[issues]=title,description,creator_name,created_at,updated_at,owner")

Geavanceerde voorbeelden

Toegang krijgen tot de lijst met problemen in het antwoordobject dat wordt geretourneerd door de HighBond API-server

Doorgaans moet u het antwoordobject dat door de HighBond API-server wordt geretourneerd manipuleren, zodat u kunt werken met de gegevens die het bevat.

Retourneert een antwoordobject dat een lijst bevat van alle problemen in het project met ID 19756:

response_object = hcl.api_get("projects/19756/issues")

Gebruikt de methode .json() van de Python Requests-bibliotheek om het JSON-gecodeerde deel van het antwoordobject naar een Python-dictionary te extraheren. U kunt nu met de probleemgegevens werken in een Python/HCL-script.

aanvragen importeren
hb_issues_dict = response_object.json()

U kunt beide bovenstaande bewerkingen ook in één stap uitvoeren:

aanvragen importeren
hb_issues_dict = hcl.api_get("projects/19756/issues").json()

U kunt het Python-woordenboek naar het scherm afdrukken om de inhoud te zien. Zonder enige extra opmaak wordt het woordenboek weergegeven zonder regeleinden of inspringingen om geneste elementen te onderscheiden:

print(hb_issues_dict)

Gebruikt de methode .dumps() van de Python JSON-bibliotheek om extra opmaak toe te passen zodat de inhoud van de dictionary beter leesbaar is:

import json
hb_issues_dict_formatted = json.dumps(hb_issues_dict, indent=4)
print(hb_issues_dict_formatted)

Voorbeeld van opgemaakte uitvoer:

{
    "data": [
        {
            "id": "52983",
            "type": "issues",
            "attributes": {
                "title": "Data retention and backup",
                "description": null,
                "creator_name": null,
                "created_at": "2015-05-08T20:59:34Z",
                "updated_at": "2016-11-17T18:44:59Z",
                "position": 3,
                "owner": "Jane Sleaman",
                "recommendation": "",
                "deficiency_type": "Deficiency",
                "severity": "High",
                "published": true,
                "identified_at": "2015-05-08T20:59:34Z",
                "reference": null,
                "reference_prefix": "1-A",
                "risk": "<p>Er bestaat geen beleid voor gegevensbewaring en back-up</p>\r\n",
                "scope": null,
                "escalation": null,
                "cause": "",
                "effect": "",
                "cost_impact": 3000.0,
                "executive_summary": null,
                "executive_owner": null,
                "project_owner": null,
                "closed": false,
                "remediation_status": null,
                "remediation_plan": null,
                "remediation_date": null,
                "actual_remediation_date": null,
                "retest_deadline_date": null,
                "actual_retest_date": null,
                "retesting_results_overview": null,
                "custom_attributes": []
            },
            "relationships": {
                "project": {
                    "data": {
                        "id": "19756",
                        "type": "projects"
                    }
                },
                "owner_user": {
                    "data": {
                        "id": "HWF9X5jpXsS",
                        "type": "users"
                    }
                },
                "executive_owner_user": {
                    "data": null
                },
                "project_owner_user": {
                    "data": null
                },
                "creator_user": {
                    "data": null
                }
            }
        }
    ],
    "links": {
        "prev": null,
        "next": null
    }
}}

Opmerkingen

Authenticatie

Alle HighBond API-aanvragen vereisen authenticatie. U moet systeembeheerder zijn in ten minste één Diligent One-instantie om toegang te krijgen tot de API.

Om te authenticeren, gebruikt u Launchpad om een HighBond API-token voor uw account te maken. Het token is een tekenreeks die u authenticeert en u beveiligde toegang geeft tot de HighBond API. Voor hulp bij het maken van een token, zie Diligent One-toegangstokens aanmaken en beheren.

Een HighBond API-token gebruiken met HighBond API-methoden

Om een HighBond API-token te gebruiken met de HighBond API-methoden moet u het token toewijzen aan een HCL-variabele genaamd v_hb_token. Zodra de token is toegewezen, wordt deze automatisch op de achtergrond gebruikt voor authenticatie zonder dat deze expliciet in het Diligent One-script hoeft te worden gespecificeerd. Voor informatie over het toewijzen van het token aan de variabele, zie Gebruik het venster Variabelen om een HCL-variabele te definiëren.

Systeemgebruikerstoken

Klanten die specifieke Diligent One-toolkits hebben aangeschaft, hebben ook de mogelijkheid om te authenticeren met een generiek systeemgebruikerstoken in plaats van een token dat is gekoppeld aan een specifiek gebruikersaccount.

Geef alleen het unieke deel van de URL van de resource op

Wanneer u een HighBond API-methode gebruikt, hoeft u alleen het unieke gedeelte, of eindpunt, van de Diligent One resource-URL op te geven. U hoeft niet het gemeenschappelijke deel (basis-URL) of de ID van de Diligent One-instantie waarin u werkt op te geven. Deze informatie wordt automatisch op de achtergrond verstrekt.

Bijvoorbeeld: Als u werkt in een Diligent One-instantie met ID 1000236, retourneren deze beide API-aanvragen een identiek antwoord. Ze vermelden beide alle problemen in project 19756.

hcl.api_get("projects/19756/issues")
hcl.api_get("https://apis.highbond.com/v1/orgs/1000236/projects/19756/issues")

Raadpleeg de HighBond API-referentie

De aanvraagsyntaxis voor elke Diligent One-bron is beschikbaar in de HighBond API-referentie. Hier, bijvoorbeeld, is de opvraagsyntaxis voor het ophalen van de lijst met problemen in een project.

Als u een HCL-methode gebruikt om de aanvraag te doen, kunt u beginnen met het specificeren van de syntaxis bij projects/....

Als u de aanvraag van buiten Diligent One doet, moet u de volledige resource-URL opgeven, beginnend met het protocol ( https://... ).

Gebruik van een variabele in de resource-URL

In plaats van een letterlijk ID op te geven in een resource-URL, hebt u mogelijk code die het gebruik van een variabele in de URL vereist. De resource-URL is opgemaakt als een tekenreeks, dus om een variabele in de tekenreeks op te nemen, moet u een van de onderstaande Python-technieken gebruiken.

U kunt een Python f-string gebruiken:

v_project_id = "19756"
hcl.api_get(f"projects/{v_project_id}/issues")

U kunt Python-tekenreeksconcatenatie gebruiken:

v_project_id = "19756"
hcl.api_get("projects/" + v_project_id + "/issues")