Skip to content

judgement

プロパティ差分情報を元に ステータス(Same/Different)を決定します。

ignore_properties

以下2つの情報を生成します。

  • configで指定したプロパティを無視した上で判定したステータス
  • 無視したプロパティのキー と 無視するために参照した設定
    • Reportのignoresに出力されます

Warning

既に同レイヤーのアドオンでSameと判定されている場合、本アドオンは実行されません。

Config

Definitions

Root
Key Type Description Example Default
ignores Ignore[] 無視設定
Ignore
Key Type Description Example Default
title (string) タイトル IDは毎回変わるので無視
conditions Condition[] 本設定を反映させるRequestの条件
image (string) 画像のURL https://hoge.png
link (string) 参考URL https://reference.html

imagelinkについて

画像のURLと参考URLはViewerなどで利用されることを想定しています。

Condition
Key Type Description Example Default
name (string) nameの正規表現 api.+
path (string) pathの正規表現 /api.*
added (string[]) 追加されていても無視するプロパティの正規表現リスト - root<'id'>
- root<'items'><d+><'id'>
changed (string[]) 変更されていても無視するプロパティの正規表現リスト - root<'id'>
- root<'items'><d+><'id'>
removed (string[]) 削除されていても無視するプロパティの正規表現リスト - root<'id'>
- root<'items'><d+><'id'>

正規表現について

Descriptionの正規表現は完全一致正規表現を意味します。
例えば 完全正規表現hogeahoge に一致しません。

added, changed, removed コーテーションについて

プロパティが文字列の場合コーテーションを付けて下さい。
また、数字の場合はコーテーションを付けないで下さい。

Examples

path /api1items[].id は値が変更されていても無視する
judgement:
  - name: ignore_properties
    config:
      ignores:
        - title: API1のitems[].idの値は無視
          conditions:
            - path: /api1
              changed:
                - root<'items'><\d+><'id'>
複雑な条件

以下2つのケースを無視した上でステータスを判断する。

  • pathが /api から始まる id は追加されている倍委
  • nameに check を含む debug または url は削除されている場合
judgement:
  - name: ignore_properties
    config:
      ignores:
        - title: /apiから始まるidは無視
          conditions:
            - path: /api.*
              added:
                - root<'id'>
        - title: タイトルにcheckを含む場合は全階層のdebugとurlを無視
          conditions:
            - name: .*check.*
              image: http://hoge.png
              link: http://hoge.html
              removed:
                - .*<'(debug|url)'>.*

same

指定した条件のいずれかに一致する場合、ステータスをSameにします。

Config

Definitions

Root
Key Type Description Example Default
when_any str[] jinja2の式に準拠した条件式
'"2" in req.path'

when_anyで指定できるプロパティ

key Type Description
req Request リクエスト情報
res_one Response oneのレスポンス情報
res_other Response otherのレスポンス情報
dict_one (dict) oneのプロパティ情報
dict_other (dict) otherのプロパティ情報

Examples

リクエストのpathが/test0または/test1のときはSameとする
judgement:
  - name: same
    config:
      when_any:
        - req.path == '/test0'
        - req.path == '/test1'