DevOpsChangeRelationshipHelper スクリプトを使用して変更要求データを取得する

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:4分
  • DevOpsChangeRelationshipHelper スクリプトインクルードを使用して、指定された関係タイプに基づいて変更要求に関連付けられたデータを取得します。

    始める前に

    必要なロール:sn_devops.viewer

    このタスクについて

    スクリプトインクルードを使用して、サーバースクリプトで使用できるように JavaScript の関数およびクラスを格納します。スクリプトインクルードは、ビジネスルール、UI アクション、ワークフロースクリプト、スクリプト化された REST API などから呼び出すことができます。

    このメソッドは、指定された関係タイプに基づいて変更要求に関連するデータを取得します。

    サポートされている関係タイプは次のとおりです。
    • 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

    手順

    1. 移動先 すべて > システム定義 > スクリプトインクルード.
    2. DevOpsChangeRelationshipHelper スクリプトを検索します。
      このスクリプトインクルードは、ビジネスルール、UI アクション、ワークフロースクリプト、スクリプト化された REST API などから呼び出すことができます。

    changeRelationHelperObj メソッドを含むオブジェクトのインスタンスがあるとします。
    var changeRelationHelperObj = new sn_devops.DevOpsChangeRelationshipHelper();
    変更要求を表す GlideRecord オブジェクトがあるとします。
    var changeRequest = new GlideRecord('change_request');
    changeRequest.addQuery('number', 'CHG123456');
    changeRequest.query();
    changeRequest.next();

    取得されるデータには、関係タイプに応じて追加の詳細が含まれる場合があります。データが見つかった場合は、関連する sys ID 情報を含むアレイが返されます。データが見つからない場合は、デバッグメッセージが表示され、空のアレイが返されます。データの取得中に問題が発生した場合は、詳細を示すエラーメッセージが表示されます。

    例 1:変更要求のコミットデータを取得する。

    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());
    }
    
    例 2:変更要求の作業アイテムを取得する。
    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());
    }