mcpField
A
asc-beta-review

asc-beta-review

github.com/tddworksテスト・品質587 回インストール6 週間前に更新
リポジトリ

asc-beta-review について

asc-beta-reviewは、`asc`コマンドラインでAppleのベータアプリ審査とTestFlight関連情報を管理するスキルです。ビルドの提出や審査状況の確認、連絡先情報の編集、ロケール別説明の管理に対応します。

主な機能

  1. 01ベータ審査の提出を作成・確認
  2. 02審査連絡先とデモアカウント情報の管理
  3. 03ベータアプリのローカライズを一覧・更新
  4. 04応答内の次のコマンド候補を利用

活用シーン

  1. 01外部TestFlightテスト審査へのビルド提出
  2. 02提出が承認または却下されたか確認
  3. 03審査連絡先やデモアカウント情報の更新
  4. 04TestFlightテスター向け説明のローカライズ管理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/tddworks/asc-cli-skills --skill asc-beta-review

インストール後、Claude Code で/asc-beta-reviewを入力して読み込まれたか確認します。

詳細

asc を使用したベータアプリレビュー

TestFlight の外部テストレビューにビルドを提出し、ベータレビューの連絡先情報を管理します。Apple は、TestFlight で外部テスターにビルドを配布する前に、ベータアプリレビューを必須としています。

認証

ベータレビューのコマンドを実行する前に、認証情報を設定してください。

asc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8

CAEOAS — 次のステップを示すアフォーダンス

すべての JSON レスポンスには、すぐに実行できるコマンドを含む "affordances" が含まれます。

BetaAppReviewSubmission のアフォーダンス:

{
  "id": "sub-abc123",
  "buildId": "build-42",
  "state": "WAITING_FOR_REVIEW",
  "affordances": {
    "getSubmission": "asc beta-review submissions get --submission-id sub-abc123",
    "listSubmissions": "asc beta-review submissions list --build-id build-42"
  }
}

BetaAppReviewDetail のアフォーダンス:

{
  "id": "d-xyz789",
  "appId": "app-1",
  "contactFirstName": "John",
  "contactEmail": "[email protected]",
  "demoAccountRequired": false,
  "affordances": {
    "getDetail": "asc beta-review detail get --app-id app-1",
    "updateDetail": "asc beta-review detail update --detail-id d-xyz789"
  }
}

Nil のオプションフィールド(contactFirstName、contactLastName、contactPhone、contactEmail、demoAccountName、demoAccountPassword、notes)は JSON 出力から省略されます。

コマンド

submissions list — ビルドのベータレビュー提出を一覧表示する
asc beta-review submissions list --build-id <BUILD_ID> [--pretty]
submissions create — ビルドをベータレビューに提出する
asc beta-review submissions create --build-id <BUILD_ID> [--pretty]

新しいベータアプリレビューの提出を作成します。ビルドは WAITING_FOR_REVIEW 状態になります。

submissions get — 特定の提出を取得する
asc beta-review submissions get --submission-id <SUBMISSION_ID> [--pretty]
detail get — アプリのベータレビュー連絡先情報を取得する
asc beta-review detail get --app-id <APP_ID> [--pretty]

アプリのベータアプリレビュー詳細レコード(連絡先情報とデモアカウント)を返します。各アプリにはベータレビュー詳細レコードが1つあります。

detail update — ベータレビュー連絡先情報を更新する
asc beta-review detail update --detail-id <DETAIL_ID> \
  [--contact-first-name <name>] \
  [--contact-last-name <name>] \
  [--contact-phone <phone>] \
  [--contact-email <email>] \
  [--demo-account-name <username>] \
  [--demo-account-password <password>] \
  [--demo-account-required] \
  [--notes <text>]

指定されたフラグのみが送信されます。指定されていないフィールドは変更されません。

ベータアプリのローカライズ — asc beta-app-localizations

TestFlight のテスターに表示される、ロケールごとのベータアプリの説明、テスターからのフィードバック用メールアドレス、マーケティング URL、プライバシーポリシー URL です。外部テストを開始する前に Apple が必須としており、プライマリロケールの説明が未設定または空であることが、外部テストの提出が却下される最も一般的な理由です。

以下の既存コマンドとは別の機能です。

  • asc beta-review detail → アプリ単位のレビュー用連絡先情報とデモアカウント
  • asc builds update-beta-notes → ビルドごとの「テスト内容」メモ
  • asc beta-app-localizations → ロケールごとのベータアプリの説明(このセクション)
# List existing beta localizations for an app
asc beta-app-localizations list --app-id <APP_ID> [--pretty]

# Get a single localization
asc beta-app-localizations get --localization-id <ID>

# Create a new localization (Apple auto-creates one for the primary locale)
asc beta-app-localizations create \
  --app-id <APP_ID> \
  --locale en-US \
  [--description <text>] \
  [--feedback-email <email>] \
  [--marketing-url <url>] \
  [--privacy-policy-url <url>] \
  [--tv-os-privacy-policy <text>]

# Patch — only supplied flags are sent; omitted fields unchanged
asc beta-app-localizations update \
  --localization-id <ID> \
  [--description <text>] \
  [--feedback-email <email>] \
  [--marketing-url <url>] \
  [--privacy-policy-url <url>]

# Delete (e.g. removing a no-longer-supported locale)
asc beta-app-localizations delete --localization-id <ID>

各ローカライズのアフォーダンス:delete、get、listSiblings(asc beta-app-localizations list --app-id <appId>)、update。

詳しくは、完全なリファレンスである docs/features/beta-app-localizations.md をご覧ください。

BetaReviewState

状態説明
WAITING_FOR_REVIEW提出済みで、Apple のレビュー待ちです
IN_REVIEW現在レビュー中です
APPROVED外部テスト用に承認済みです
REJECTED却下されました。問題を修正して再提出してください

セマンティックブール値:isPending、isInReview、isApproved、isRejected。

一般的なワークフロー

APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')

# 1. Upload a build
asc builds upload --file MyApp.ipa

# 2. Add the build to an external beta group
BUILD_ID=$(asc builds list --app-id "$APP_ID" | jq -r '.data[0].id')
GROUP_ID=$(asc testflight groups list --app-id "$APP_ID" | jq -r '.data[] | select(.isInternalGroup == false) | .id' | head -1)
asc builds add-beta-group --build-id "$BUILD_ID" --beta-group-id "$GROUP_ID"

# 3. Set up beta review contact details (first time)
asc beta-review detail get --app-id "$APP_ID" --pretty
DETAIL_ID=$(asc beta-review detail get --app-id "$APP_ID" | jq -r '.data[0].id')
asc beta-review detail update --detail-id "$DETAIL_ID" \
  --contact-first-name "John" \
  --contact-last-name "Doe" \
  --contact-email "[email protected]" \
  --contact-phone "+1-555-0100"

# 4. Set the Beta App Description for the primary locale (required for external testing)
EXISTING=$(asc beta-app-localizations list --app-id "$APP_ID" | jq -r '.data[] | select(.locale == "en-US") | .id')
if [ -z "$EXISTING" ]; then
  asc beta-app-localizations create --app-id "$APP_ID" --locale en-US \
    --description "Welcome to the beta — please test the new dashboard." \
    --feedback-email [email protected]
else
  asc beta-app-localizations update --localization-id "$EXISTING" \
    --description "Welcome to the beta — please test the new dashboard." \
    --feedback-email [email protected]
fi

# 5. Submit the build for beta app review
asc beta-review submissions create --build-id "$BUILD_ID" --pretty

# 6. Check submission status
asc beta-review submissions list --build-id "$BUILD_ID" --pretty

主な計算プロパティ(BetaAppReviewDetail)

プロパティロジック
hasContactcontactEmail != nil && contactPhone != nil
demoAccountConfigured!demoAccountRequired || (name != nil && password != nil)

アプリ ID の確認

project-context.md をご覧ください。ユーザーに確認したり asc apps list を実行したりする前に、.asc/project.json を確認してください。

出力フラグ

--pretty          # Pretty-print JSON
--output table    # Table format
--output markdown # Markdown table

コメント