Rufen Sie Change-Anforderungsdaten mit dem DevOpsChangeRelationshipHelper-Skript ab

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • Rufen Sie Daten ab, die einer Change-Anforderung basierend auf dem angegebenen Beziehungstyp zugeordnet sind, indem Sie die DevOpsChangeRelationshipHelper-Skripteinbindung verwenden.

    Vorbereitungen

    Erforderliche Rolle: sn_devops.Viewer

    Warum und wann dieser Vorgang ausgeführt wird

    Verwenden Skripteinbindungen Dient zum Speichern von JavaScript-Funktionen und -Klassen zur Verwendung durch Serverskripts. Sie können die Skripteinbindung über eine Business-Regel, eine UI-Aktion, ein Workflow-Skript, eine geskriptete REST-API usw. aufrufen.

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

    Die unterstützten Beziehungstypen sind:
    • 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 > Skripteinbindungenan.
    2. Suchen Sie nach dem DevOpsChangeRelationshipHelper-Skript.
      Sie können diese Skripteinbindung über eine Business-Regel, eine UI-Aktion, ein Workflow-Skript, eine geskriptete REST-API usw. aufrufen.

    Beispiel

    Angenommen, Sie haben eine Instanz des Objekts, die 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 zugehörigen SYS-IDs-Informationen enthält. Wenn keine Daten gefunden werden, wird eine Debug-Nachricht angezeigt, und ein leeres Array wird 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: Arbeitselemente für eine Change-Anforderung werden abgerufen.
    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());
    }