judgement ¶
プロパティ差分情報を元に ステータス(Same/Different)を決定します。
ignore¶
以下2つの情報を生成します。
- configで指定したプロパティを無視した上で判定したステータス
- 無視したプロパティのキー と 無視するために参照した設定名
Warning
既に同レイヤーのアドオンでSameと判定されている場合、本アドオンは実行されません。
Config¶
Definitions¶
Root¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
ignores | Ignore[] | 無視設定 |
Ignore¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
title | (string) | タイトル | IDは毎回変わるので無視 | |
conditions | Condition[] | 本設定を反映させるRequestの条件 |
title
について
titleが同じものは同一条件として扱われます。
Condition¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
when | (string) | 条件式 | "req.path == '/test'" |
|
added | (Case[]) | 追加されていても無視するプロパティのリストと条件 | ||
changed | (Case[]) | 変更されていても無視するプロパティのリストと条件 | ||
removed | (Case[]) | 削除されていても無視するプロパティのリストと条件 |
whenについて
Template表記に対応しています。
プロパティは以下を使用できます。
key | Type | Description |
---|---|---|
req | Request | リクエスト情報 |
res_one | Response | oneのレスポンス情報 |
res_other | Response | otherのレスポンス情報 |
dict_one | (dict) | oneのプロパティ情報 |
dict_other | (dict) | otherのプロパティ情報 |
whenが指定されなかった場合は全て条件に一致したとみなします。
Case¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
path | string | プロパティの正規表現(完全一致) | root<'id'> |
|
when | (str) | 条件式 | "one.name == 'hoge'" |
whenについて
Template表記に対応しています。
プロパティは以下を使用できます。
key | Type | Description |
---|---|---|
one | (any) | oneのpathで指定したプロパティに入っている値 |
other | (any) | otherのpathで指定したプロパティに入っている値 |
added
の場合はoneがNone
removed
の場合はotherがNone
whenが指定されなかった場合は全て条件に一致したとみなします。
pathのコーテーションについて
プロパティが文字列の場合コーテーションを付けて下さい。
数字の場合はコーテーションを付けないで下さい。
Examples¶
path /api1
の items[].id
は値が変更されていても無視する¶
judgement:
- name: ignore
config:
ignores:
- title: API1のitems[].idの値は無視
conditions:
- when: 'req.path == "/api1"'
changed:
- path: root<'items'><\d+><'id'>
items[].type
が追加されていても、その値がallなら無視する¶
judgement:
- name: ignore
config:
ignores:
- title: items[].type
conditions:
- added:
- path: root<'items'><\d+><'type'>
when: 'other == "all"'
複雑な条件¶
以下3つのケースを無視した上でステータスを判断する。
- pathが
/api
から始まる場合に追加された.id
- nameに
check
を含むdebug
またはurl
は削除されている場合 name
がignoreまたはunknown に変更された場合
judgement:
- name: ignore
config:
ignores:
- title: /apiから始まる場合に追加されたプロパティ.idは無視
conditions:
- when: 'req.path|reg("/api.*")'
added:
- path: root<'id'>
- title: nameにcheckを含む場合は全階層のプロパティdebugとurlが削除されていても無視
conditions:
- when: 'req.name|reg(.*check.*)'
removed:
- path: .*<'(debug|url)'>.*
- title: プロパティ.nameがignoreまたはunknownに変更された場合だけは無視
conditions:
- changed:
- path: root<'name'>
when: 'other in ["ignore", "unknown"]'
same¶
指定した条件のいずれかに一致する場合、ステータスをSameにします。
Config¶
Definitions¶
Root¶
Key | Type | Description | Example | Default |
---|---|---|---|---|
when_any | str[] | 条件式 | '"2" in req.path' |
when_anyで指定できるプロパティ
Template表記に対応しています。
プロパティは以下を使用できます。
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'