GitHub Actionsと連携
GitHub Actions連携では、PRでビルドしたリリース候補をAbyssへ登録します。登録した時点ではクレジットを消費せず、PRコメントのリンク先でAbyssユーザーが承認するとスキャンが始まります。
APIキーやAbyssアプリケーションIDをGitHub Secretsへ保存する必要はありません。GitHub Actionsが発行する短時間のOIDCトークンで、連携済みリポジトリを安全に識別します。

GitHub Appの許可と、Abyssアプリケーションへの紐づけは別の手順です。
1. リポジトリを連携する
Section titled “1. リポジトリを連携する”この操作には組織管理者権限が必要です。
- 「組織」→「連携」→「GitHub Actions」を開く
- 「GitHubと連携」を選ぶ
- 「GitHub Appをインストール」から、Abyssに許可するリポジトリを選ぶ
- GitHubからAbyssへ戻ったら、許可済みリポジトリを選ぶ
- 対応するAbyssアプリケーションを選び、「選択したリポジトリを連携」を選ぶ
GitHub Appへアクセスを許可しただけでは、Abyssアプリケーションとの連携は完了しません。手順4〜5も行ってください。
2. ワークフローを追加する
Section titled “2. ワークフローを追加する”.github/workflows/abyss.ymlを追加します。次の例はAndroidのリリースAPKを登録します。
name: Abyss release security scan
on: pull_request: types: [opened, synchronize, reopened]
permissions: contents: read id-token: write
jobs: abyss: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4
- name: Build release APK run: ./gradlew assembleRelease
- name: Upload release candidate to Abyss uses: m1st-ai/abyss-action@v1 with: version-name: ${{ github.event.pull_request.head.sha }} android: app/build/outputs/apk/release/app-release.apkid-token: writeはOIDCトークンの発行に必要です。リポジトリ内容の書き込み権限ではありません。
iOSとAndroidを同時に登録する
Section titled “iOSとAndroidを同時に登録する”- name: Upload release candidates to Abyss uses: m1st-ai/abyss-action@v1 with: version-name: 1.4.0 version-code: 42 android: path/to/app-release.apk ios: path/to/App.ipaActionで指定できるAndroid成果物はAPKまたはAAB、iOS成果物はIPAです。Web画面から手動アップロードする場合の形式とは異なります。
3. PRからスキャンを開始する
Section titled “3. PRからスキャンを開始する”- GitHub Actionsが成功すると、GitHub AppがPRのAbyssコメントを更新する
- コメントの確認リンクを開く
- アプリケーション、リポジトリ、PR、コミット、バイナリSHA-256を確認する
- クレジット残高を確認し、「1クレジットを消費して解析開始」を選ぶ
- GitHub Check、PRコメント、Abyssのスキャン詳細で結果を確認する
アップロードとスキャン開始を分けることで、すべてのPR更新で自動的にクレジットを消費することを防ぎます。
PRが更新された場合
Section titled “PRが更新された場合”同じPR・同じプラットフォームへ新しいバイナリを送ると、未開始の古い提出はSUPERSEDEDになり、最新の成果物が承認対象になります。開始済みスキャンのバイナリは差し替えられません。
同じバイナリはSHA-256で識別されます。ワークフローを再実行してもコメントを増やさず、既存のAbyssコメントを更新します。
フォークからのPR
Section titled “フォークからのPR”この連携は永続的なSecretを使いませんが、PRイベント、OIDCのclaim、連携済みリポジトリをAbyss側で検証します。pull_request_targetで信頼していないコードをcheckout・実行する構成にはしないでください。
よくあるエラー
Section titled “よくあるエラー”| 症状 | 確認すること |
|---|---|
| OIDCトークンが取得できない | jobまたはworkflowにid-token: writeがあるか |
| リポジトリが未連携と表示される | GitHub Appの許可後、Abyssアプリケーションへの紐づけまで完了したか |
| 成果物が見つからない | ビルドコマンドとandroid / iosのパスが一致しているか |
| コメント後に自動開始しない | 意図した動作。確認リンクでクレジット消費を承認する |
| 古いリンクを開けない | 最新コミットの提出を開く。古い提出はSUPERSEDEDの可能性がある |