状況モデル スクリプトインクルードの更新

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:2分
  • ChangeRequestStateModel_normal スクリプトインクルードを更新して、[完了] ステータスに対して新しい機能を追加します。

    始める前に

    必要なロール:admin

    このタスクについて

    次の設定で ChangeRequestStateModel_normal を更新します。
    • [完了] ステータスに対して新しい canMove および moving 関数を追加します。[完了] ステータスに移動するときの実行のための特別な条件や追加的なアクションはないため、これらの関数は、true の値を戻すことができます。
    • [実装] ステータスの既存のオブジェクトの定義を変更して、次のステータスが [完了] となるようにします。
    • 次の 2 つの状況として。[レビュー] および [クローズ] を定義するよう [完了] 状況に対してオブジェクトを追加します。
      注:
      からこれらの状況への移行のための canMove 関数が、[要レビュー(Needs review)] カスタムフィールドをチェックして、正しい次の状況を判定します。

    手順

    1. 移動先 すべて > システム定義 > スクリプトインクルード.
    2. ChangeRequestStateModel_normal スクリプトインクルードを開いて、スクリプトを次のとおり変更します。
      1. 次の行を、スクリプトインクルードの最後、ただし type で始まる行の前に追加します。
        toComplete_moving: function() {
                      return true; 
                 },              
        
                 toComplete_canMove: function() {      
                       return true;       
                 },
        改訂スクリプト
      2. 既存の implement オブジェクトを toComplete に変更します。
        implement: {
                    nextState: [ "complete" ],
        
                    complete: { 
                        moving: function() {                
                            return this.toComplete_moving(); 
                        },             
        
                        canMove: function() {                
                            return this.toComplete_canMove();            
                        }       
                    },        
        
                    canceled: {  
                        moving: function() {               
                           return this.toCanceled_moving();   
                        },             
        
                        canMove: function() {               
                           return this.toCanceled_canMove(); 
                        }        
                    }    
                },
    3. 次の新しいステータス オブジェクトを complete に対して追加します。
      complete: {
                   nextState : [ "review", "closed" ],         
      
                   review : {            
                         moving : function() {
                               return this.toReview_moving();            
                         },             
      
                         canMove : function() {              
                                if (this._gr.getValue("u_needs_review") == "Yes")   
                                     return true;                            
                            
                                return false;
                         }        
                   },                     
      
                   closed : {            
                         moving : function() {  
                               return this.toClosed_moving();
                         },             
      
                         canMove : function() {              
                                if (this._gr.getValue("u_needs_review") == "No")
                                     return true;    
                              
                        return false;
                        }       
                   },  
      
                   canceled : { 
                         moving : function() {                
                               return this.toCanceled_moving();     
                         },             
      
                         canMove : function() {                
                                return this.toCanceled_canMove(); 
                         }   
                   }    
              },
    4. [更新] をクリックします。