始める前に
必要なもの
- ワークスペースの Connections モジュール:Team、Business、Partner、Enterprise プランに含まれ、Project プランではアドオン 1 回の UAT 向け連携として利用できます。
- UAT Studio プロジェクトの管理者権限。
- HTTPS リクエストを送信できるツール:スクリプト、CI パイプライン、Postman、連携プラットフォームなど。
Zapier や Make をお使いの場合は、ご自身で API を呼び出す必要はありません。Zapier と Make をご覧ください。
設定 · プロジェクトごとに 1 回
ツールを接続する
1
API キーを作成する
- app.uat.studio にサインインし、プロジェクトを開いて Setup に進みます。
- API keys カードで Release pipeline などの名前を入力し、Create API key をクリックします。
- Copy をクリックします。UAT Studio はキーを一度しか表示しません。ツールにシークレットとして保存してください(例:
UAT_STUDIO_KEY)。
2
API を呼び出す
すべてのリクエストで、Authorization: Bearer、半角スペース、キーの形でキーを送信します。たとえば、最新の課題を取得するには次のようにします。
curl -H "Authorization: Bearer $UAT_STUDIO_KEY" "https://app.uat.studio/api/v1/issues?order=created&limit=10"
本文に JSON を入れて新しい課題を作成する例:
curl -X POST "https://app.uat.studio/api/v1/issues" \
-H "Authorization: Bearer $UAT_STUDIO_KEY" \
-H "Content-Type: application/json" \
-d '{"title": "Save fails on a new quote", "severity": "High", "test_number": 12}'
応答は JSON です。各課題には、キー(ISS-012)、タイトル、説明、重大度、優先度、ステータス、担当者、テスト、発見したテスター、Jira または Azure DevOps のチケット、UAT Studio へのリンクが含まれます。
使える機能 · https://app.uat.studio/api/v1
API のアドレス
| 種類 | リクエスト | 内容 |
|---|---|---|
| 読み取り | GET /me | キーが属するプロジェクト。 |
| 読み取り | GET /issues?order=created | 最新の課題。order=updated:最近変更されたもの。since(日時)、status、limit(最大 100)も指定できます。 |
| 読み取り | GET /issues/ISS-012 | 1 件の課題。対象のステップと履歴を含みます。 |
| 作成 | POST /issues | 新しい課題:title。任意で description、severity、priority、test_number、step_number、assignee、record_url。test_number がない場合(テストするグループは group で指定)、課題は「再テスト待ち」に設定された時点で専用のテストケースを受け取ります。 |
| 変更 | PATCH /issues/ISS-012 | status、severity、assignee、record_url。任意で comment。テストケースのない課題の status を Ready for retest にすると、そのテストケースが作成されます。応答には "test_case": "created" が含まれます。 |
| 変更 | POST /issues/ISS-012/comments | 履歴への comment。 |
| 読み取り | GET /cases | テストケースとそのステップ、および Pass、Fail などの結果の件数。epic、since、limit(最大 1,000)も指定できます。 |
| 作成 | POST /cases | テストケース:title、steps(action、expected、任意で data のリスト)。任意で external_id、epic、group、links、priority(Must、Should、Could)、risk(High、Medium、Low)。同じ external_id で再送すると内容が更新され、同じ位置にあるステップは結果を保持します。 |
| 作成 | POST /testers | テスター:name。任意で email と group。招待は Setup から送信します。 |
| 読み取り | GET /signoffs | サインオフ(新しい順)。 |
| 読み取り | GET /groups | プロジェクトのグループ。 |
| 読み取り | GET /status | リリースの go または no-go:下記を参照。 |
パイプライン向け
リリースゲート:業務部門のサインオフ後にデプロイ
GET /status は decision を返します。現在のラウンドがサインオフ済みで未解決の Critical の課題がなければ go、サインオフが却下されたか未解決の Critical の課題があれば no-go、まだ決まっていなければ open です。?gate=1 を付けると、go 以外は HTTP 409 で応答するため、パイプラインのステップが失敗します。
- name: UAT signed off?
run: curl --fail-with-body -sS -H "Authorization: Bearer ${{ secrets.UAT_STUDIO_KEY }}" "https://app.uat.studio/api/v1/status?gate=1"
パイプラインには専用のキーを使い、個別に取り消せるようにしてください。
うまくいかないとき
応答と対処方法
| 応答 | 対処方法 |
|---|---|
| 401:API キーが無効 | キーが取り消されたか、入力が間違っています。Setup › API keys で新しいキーを作成してください。 |
| 403:プランに含まれていない、または読み取り専用 | ワークスペースに Connections モジュールがないか、プランが終了しています。読み取り専用の場合も、読み取りはできます。 |
| 404:課題 ISS-… が存在しない | キーが別のプロジェクトのものであるか、課題が統合されています。 |
| 400:フィールドが正しくない | どのフィールドかはメッセージに表示されます(例:存在しない重大度)。 |
?gate=1 付きで 409 | まだリリースできません。理由は応答に含まれています。 |
セキュリティ
キーを安全に保つしくみ
- キーでアクセスできるのは1 つのプロジェクトだけで、ワークスペースのそれ以外には一切アクセスできません。
- UAT Studio が保存するのはキーのフィンガープリントだけで、キーそのものは保存しません。Setup には末尾 4 文字と最終使用日時が表示されます。
- Setup の Revoke で、キーをすぐに無効にできます。
- キーを使って作成・変更された課題やテスターは、キーの名前とともに課題の履歴と監査ログに記録されます。
- キーをメール、チャット、コードに含めないでください。ツールにシークレットとして保存してください。
