UAT Studioby Salvion
ヘルプ · 接続

UAT Studio REST API

自社のスクリプトやツールから課題、コメント、サインオフ、テスターを読み取り・登録でき、リリースしてよいかをパイプラインから確認できます。プロジェクトの API キーを使います。

アドレス https://app.uat.studio/api/v1担当 プロジェクト管理者がキーを作成形式 JSONプラン Team、Business、Partner、Enterprise
始める前に

必要なもの

  • ワークスペースの Connections モジュール:Team、Business、Partner、Enterprise プランに含まれ、Project プランではアドオン 1 回の UAT 向け連携として利用できます。
  • UAT Studio プロジェクトの管理者権限。
  • HTTPS リクエストを送信できるツール:スクリプト、CI パイプライン、Postman、連携プラットフォームなど。

Zapier や Make をお使いの場合は、ご自身で API を呼び出す必要はありません。Zapier と Make をご覧ください。

設定 · プロジェクトごとに 1 回

ツールを接続する

1

API キーを作成する

  1. app.uat.studio にサインインし、プロジェクトを開いて Setup に進みます。
  2. API keys カードで Release pipeline などの名前を入力し、Create API key をクリックします。
  3. 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-0121 件の課題。対象のステップと履歴を含みます。
作成POST /issues新しい課題:title。任意で description、severity、priority、test_number、step_number、assignee、record_url。test_number がない場合(テストするグループは group で指定)、課題は「再テスト待ち」に設定された時点で専用のテストケースを受け取ります。
変更PATCH /issues/ISS-012status、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 で、キーをすぐに無効にできます。
  • キーを使って作成・変更された課題やテスターは、キーの名前とともに課題の履歴と監査ログに記録されます。
  • キーをメール、チャット、コードに含めないでください。ツールにシークレットとして保存してください。