Skip to main content
POST
コードスキャンを開始

権限

組織レベルで UseCodeScans 権限を持つサービスユーザーまたはパーソナルアクセストークンが必要です。

動作

組織内の指定されたリポジトリ (repo_name) または複数のリポジトリ (repos) に対する新しいコードスキャンをキューに登録します。スキャンはスキャンディスパッチャーによって非同期で開始され、レスポンスとして初期 status が waiting または pending のスキャンレコードが返されます。List Code Scans をポーリングして進行状況を追跡し、スキャンが completed になったら、scan_id でフィルタリングした List Code Scan Findings で結果を確認します。 スキャンは、呼び出し元のプリンシパル (リクエストを行ったサービスユーザーまたは PAT) に紐付けられます。Enterprise スコープで同等の機能を利用するには、コードスキャンを開始 (Enterprise) を参照してください。

リクエストフィールド

repo_name または repos のいずれか一方のみを指定してください。
  • repo_name: 完全なリポジトリ名 (例: owner/repo) 。リポジトリには、組織の Git 統合を通じてあらかじめアクセスできる必要があります。
  • host: 自動的に判別できない場合のリポジトリの Git ホスト。
  • repos: 1 つのマルチリポジトリスキャンの対象とするリポジトリ。repo_name と任意の host を持つオブジェクトのリストで指定します (最大 200 件) 。最初の項目がスキャンのプライマリリポジトリになります。
  • profile_id: 適用するスキャンプロファイル。ingest モードのプロファイルには、Start Ingestion Scanを使用します。
  • scan_type: 実行するスキャンタイプ。profile_id を指定する場合は、プロファイルのスキャンタイプと一致している必要があります。デフォルトはプロファイルのスキャンタイプで、プロファイルなしのスキャンでは security です。セキュリティ以外のスキャンタイプにはプロファイルが必要です。
  • commit_sha: スキャン前にチェックアウトするコミット。デフォルトはリポジトリのデフォルトブランチの先頭コミットです。
  • effort: normal (デフォルト) では、モデルの推論レベルを抑え、より大きなバッチ単位で調査を行います。deep ではパイプライン全体を実行します。
  • interactive: true の場合、スキャンは脅威モデリングと調査の間で awaiting_user_input 状態になって一時停止し、ユーザーのレビューを待ちます。デフォルトは false です。インタラクティブレビューに対応しているのはセキュリティスキャンのみで、その他のスキャンタイプはユーザーの操作なしで実行されます。
  • platform: スキャンのセッションを実行する場所。組織で設定されたプラットフォームラベル (例: linux、windows、macos) または outpost プールの名前を指定します (大文字と小文字は区別されません) 。名前が両方に一致する場合は、プラットフォームが優先されます。デフォルトは組織のデフォルト設定です。

エラー

  • 400: scan_type がプロファイルと矛盾している場合、プロファイルなしでセキュリティ以外の scan_type が指定された場合、または platform が設定済みのプラットフォームラベルや outpost プールのいずれとも一致しない場合 (エラー本文に利用可能な値が一覧表示されます) 。
  • 403: 組織が取り込み専用スキャンに制限されており、ingest モードのプロファイルが指定されていない場合。
  • 404: リポジトリまたはプロファイルを組織が参照できない場合。
  • 409: 組織のスキャンバックログが上限に達している場合。しばらくしてから再試行してください。
  • 422: repo_name と repos の両方が指定されている場合、またはどちらも指定されていない場合、あるいは repos が空の場合。

承認

Authorization
string
header
必須

サービスユーザーの認証情報(接頭辞: cog_)

パスパラメータ

org_id
string
必須

組織 ID(プレフィックス: org-)

例:

"org-abc123def456"

ボディ

application/json

新しいコードスキャンを開始するためのリクエストボディ。

commit_sha
string | null

スキャン前にチェックアウトするコミット。

effort
enum<string> | null

スキャンの実行レベル:'normal'(デフォルト)はモデルの推論レベルを低く設定し、より大きなバッチ単位で調査します。'deep' はパイプライン全体を実行します。

利用可能なオプション:
normal,
deep
host
string | null

リポジトリの Git ホスト(判明している場合)。

interactive
boolean
デフォルト:false

true の場合、脅威モデリング後、調査に進む前にユーザーがレビューできるよう、スキャンを一時停止します。

new_budget
NewScanBudget · object | null

スキャンに専用の ACU 予算を与えます。ManageAccountServiceUsers および ManageAcuLimits 権限が必要です。

platform
string | null

スキャンのセッションの実行先: 組織に設定されたプラットフォームラベル(例: 'linux'、'windows'、'macos')またはアウトポスト(BYOB)プールの名前を指定します。大文字と小文字は区別されず、名前が両方に一致する場合はプラットフォームが優先されます。省略時は組織のデフォルトが適用されます。認識されない値は 400 エラーで拒否され、エラーボディに利用可能なプラットフォームラベルとアウトポストプール名が一覧表示されます。

Maximum string length: 128
profile_id
string | null

スキャンに適用するスキャンプロファイル。

repo_name
string | null

スキャンするリポジトリの完全名。repo_name または repos のいずれか一方のみを指定してください。

repos
ScanRepoRequest · object[] | null

1 回のスキャンで対象となるリポジトリ。最初の項目がスキャンの主リポジトリになります。repo_name または repos のいずれか一方のみを指定してください。

Maximum array length: 200
scan_type
enum<string> | null

実行するスキャンタイプ。プロファイルを指定する場合は、そのプロファイルのスキャンタイプと一致する必要があります。デフォルトはプロファイルのタイプで、プロファイルがない場合は 'security' です。セキュリティ以外のタイプにはプロファイルが必須で、指定がない場合は拒否されます。

利用可能なオプション:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs

レスポンス

成功レスポンス

1件のコードスキャン。

created_at
integer
必須

スキャンの作成日時(Unix秒)。

effort
enum<string>
必須

スキャンの実行レベル。'normal' はモデルの推論レベルを低くし、調査のバッチサイズを大きくします。'deep' はパイプライン全体を実行します。

利用可能なオプション:
normal,
deep
host
string | null
必須

既知の場合のリポジトリの Git ホスト。

org_id
string
必須

スキャンが属する組織。

profile
CodeScanProfileResponse · object | null
必須

スキャンの実行時に使用されたプロファイル(ある場合)。

repo_name
string
必須

スキャンの主要なリポジトリ。マルチリポジトリスキャンには、ここに記載されていない追加のリポジトリも含まれます。

scan_id
string
必須

スキャンの一意の識別子。

scan_type
enum<string>
必須

作成時に記録されるスキャンのタイプ。

利用可能なオプション:
security,
performance,
db-queries,
test-coverage,
dead-code,
code-quality,
cleanup,
telemetry,
accessibility,
compliance,
general,
migration-docs
status
enum<string>
必須

スキャンのステータス: waiting、pending、running、awaiting_user_input、completed、failed、または cancelled。

利用可能なオプション:
waiting,
pending,
running,
awaiting_user_input,
completed,
failed,
cancelled
url
string
必須

Devin webapp 内のスキャンページの URL。

outpost_pool_id
string | null

スキャンのセッションを実行するアウトポストプール(設定されている場合)。

platform
string | null

スキャンのセッションを実行するホスト型プラットフォームのラベル。スキャンがアウトポストプールまたは組織のデフォルトで実行される場合は Null。

repo_full_name
string | null

ホスト名を含む主リポジトリの識別情報(例:github.com/org/repo)。git ホストを持たない Perforce デポの場合は Null。