購入者より先に、製品ページの食い違いを見つける。
Surface Contract Checkは、選択された価格、上限、プラン名またはバージョンを公開ページとローカルファイルで比較します。各実行では、ソースロケータ、バイト数、およびSHA-256ハッシュを記録し、その後CI対応のステータスで終了します。
ダウンロードしてインストール
unzip surface-contract-check-0.1.0.zip
cd surface-contract-check-0.1.0
python3 -m venv .venv
.venv/bin/pip install .
アーカイブにはソース、テスト、例、GitHub Actionsワークフロー、およびMITライセンスが含まれています。
1 つの製品契約を定義する
{
"sources": {
"pricing": {"url": "https://example.com/pricing", "format": "html"},
"docs": {"url": "https://example.com/docs/billing", "format": "html"}
},
"checks": [{
"name": "starter monthly price",
"rule": "equal",
"extract": [
{"source": "pricing", "pattern": "Starter:\\s*\\$(\\d+)"},
{"source": "docs", "pattern": "Starter:\\s*\\$(\\d+)"}
]
}]
}
surface-contract check product-facts.json --json
リリースチェックで終了コードを使用する
| 終了 | 意味 | リリースアクション |
|---|---|---|
0 | 設定されたすべての値が一致しました。 | パイプラインを続行します。 |
1 | 値が欠落しているか、一貫性がありませんでした。 | 指定された情報源と抽出された証拠を確認する。 |
2 | 契約、ソース、または正規表現は無効であるか利用できませんでした。 | 結果を製品証拠として扱う前にチェックを修復してください。 |
証拠の境界
レポートが示すのは、その実行時に設定済みの取得元が返した内容だけです。ブラウザー側のJavaScriptを実行したり、非公開画面を調べたり、実際の決済額や法令順守を確認したりはしません。矛盾する値のどれを正とするかは、製品の責任者が決めます。
リリースの完全性
SHA-256 対象 surface-contract-check-0.1.0.zip:
f41058fa1ebe0aba3789ac9c100d17ff3bdbcc56a94f71360ef64954a1b7c2d0
これは独自に開発した公開版です。顧客のコードは含まず、第三者との取引実績を示すものでもありません。MITライセンスに従い、無償で確認・利用できます。
最初の契約を製品に組み込みたいですか?
公開ページまたはファイルを最大4件と、プロダクト責任者が確認した基準をお送りください。60米ドルの範囲を限定した導入には、チェック設定、対象を絞った修正1件、回帰テスト、受け入れ確認の根拠が含まれます。
固定スコープ統合をリクエスト