Rufen Sie Change-Anforderungsdaten mit dem DevOpsChangeRelationshipHelper-Skript ab

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 1 Minute Lesedauer
  • Rufen Sie Daten ab, die einer Change-Anforderung zugeordnet sind, basierend auf dem angegebenen Beziehungstyp mithilfe der Skripteinbindung DevOpsChangeRelationshipHelper.

    Vorbereitungen

    Erforderliche Rolle: sn_devops.viewer

    Warum und wann dieser Vorgang ausgeführt wird

    Verwenden Sie Skripteinbindungen, um JavaScript-Funktionen und -Klassen zur Verwendung durch Serverskripts zu speichern. Sie können die Skripteinbindung aus einer Geschäftsregel, einer UI-Aktion, einem Workflow-Skript, einer geskripteten REST API usw. aufrufen.

    Diese Methode ruft Daten im Zusammenhang mit einer Change-Anforderung basierend auf dem angegebenen Beziehungstyp ab.

    Folgende Beziehungstypen werden unterstützt:
    • DevOpsCommonConstants.COMMIT_TABLE
    • DevOpsCommonConstants.DEVOPS_WORK_ITEM
    • DevOpsCommonConstants.DEVOPS_TEST_SUMMARY_TABLE
    • DevOpsCommonConstants.DEVOPS_SECURITY_SCan_SUMMARY_TABLE
    • DevOpsCommonConstants.DEVOPS_ARTIFACT_VERSION_TABLE
    • DevOpsCommonConstants.DEVOPS_Software_QUALITY_SUMMARY_TABLE
    • DevOpsCommonConstants.DEVOPS_PULL_REQUEST_TABLE

    Prozedur

    1. Navigieren zu Alle > Systemdefinition > Skripteinbindungen.
    2. Suchen Sie nach dem Skript DevOpsChangeRelationshipHelper.
      Sie können diese Skripteinbindung von einer Business-Regel, einer UI-Aktion, einem Workflow-Skript, einer geskripteten REST-API usw. aufrufen.

    Beispiel

    Angenommen, Sie haben eine Instanz des Objekts, das die Methode changeRelationHelperObj enthält.
    var changeRelationHelperObj = new sn_devops.DevOpsChangeRelationshipHelper();
    Angenommen, Sie haben ein GlideRecord-Objekt, das eine Change-Anforderung darstellt.
    var changeRequest = new GlideRecord('change_request');
    changeRequest.addQuery('number', 'CHG123456');
    changeRequest.query();
    changeRequest.next();

    Die abgerufenen Daten können je nach Beziehungstyp zusätzliche Details enthalten. Wenn Daten gefunden werden, wird ein Array zurückgegeben, das die Informationen der zugehörigen Sys-IDs enthält. Wenn keine Daten gefunden werden, wird eine Debug-Meldung angezeigt und ein leeres Array zurückgegeben. Wenn beim Datenabruf ein Problem auftritt, wird eine Fehlermeldung mit Details angezeigt.

    Beispiel 1: Commit-Daten für eine Change-Anforderung werden abgerufen.

    try {
        var commitsData = changeRelationHelperObj.getChangeRelationData(changeRequest, sn_devops.DevOpsCommonConstants.COMMIT_TABLE);
        if (commitsData && commitsData.length > 0) {
            gs.log('Commits Data:', commitsData);
        } else {
            gs.log('No commits found for Change Request:', changeRequest.getDisplayValue());
        }
    } catch (error) {
        gs.error('Error fetching commits data:', error.getMessage());
    }
    
    Beispiel 2: Abrufen von Arbeitselementen für eine Change-Anforderung
    try {
        var workItemsData = changeRelationHelperObj.getChangeRelationData(changeRequest, sn_devops.DevOpsCommonConstants.DEVOPS_WORK_ITEM);
        if (workItemsData && workItemsData.length > 0) {
            gs.log('Work Items Data:', workItemsData);
        } else {
            gs.log('No work items found for Change Request:', changeRequest.getDisplayValue());
        }
    } catch (error) {
        gs.error('Error fetching work items data:', error.getMessage());
    }