Skip to main content
POST
取り込みスキャンを開始

権限

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

動作

インジェストモードのコードスキャンをキューに登録します。インジェストスキャンでは、問題を一から検出するのではなく、外部で生成された検出結果 (たとえば SAST レポート) を取り込み、Devin がリポジトリに照らしてトリアージと検証を行います。スキャンはスキャンディスパッチャーによって非同期で起動され、呼び出し元のプリンシパルに関連付けられます。

リクエストフィールド

repo_name または repos のいずれか一方のみを指定してください。
  • repo_name:完全なリポジトリ名 (例:owner/repo) 。
  • repos:1 回のマルチリポジトリスキャンで対象とするリポジトリ。repo_name と任意の host を持つオブジェクトのリストとして指定します (最大 200 件) 。最初の項目がスキャンのプライマリリポジトリになります。
  • profile_id (必須) :ingestモードのスキャンプロファイル。discoverモードのプロファイルを指定すると、400が返されます。
  • host:推測できない場合に指定するリポジトリの Git ホスト。
  • attachment_urls:スキャンに与える Devin の添付ファイル URL (エクスポートしたスキャナーレポートなど) 。最初にattachments APIでファイルをアップロードしてください。
  • effort:normal (デフォルト) は、モデルの推論レベルを抑え、トリアージと検証をより大きなバッチ単位で実行します。deep はパイプライン全体を実行します。
  • platform:スキャンのセッションを実行する場所。組織に設定されたプラットフォームラベル (例:linux、windows、macos) または outpost プールの名前のいずれかを指定します (大文字と小文字は区別されません) 。名前が両方に一致する場合は、プラットフォームが優先されます。省略した場合は組織のデフォルトが使用されます。

エラー

  • 400: profile_id がインジェストモードのプロファイルではない場合、または platform が設定済みのプラットフォームラベルや outpost プールのいずれとも一致しない場合 (エラー本文に利用可能な値の一覧が含まれます) 。
  • 404: 組織、リポジトリ、またはプロファイルがEnterpriseアカウントから参照できない場合。
  • 409: 組織のスキャンバックログが上限に達している場合。後で再試行してください。
  • 422: repo_name と repos の両方が指定されている場合、もしくはどちらも指定されていない場合、または repos が空の場合。

承認

Authorization
string
header
必須

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

パスパラメータ

org_id
string
必須

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

例:

"org-abc123def456"

ボディ

application/json

取り込みモードのコードスキャンを開始するためのリクエストボディ。

取り込み(取り込みモード)スキャンプロファイルのみを受け付けます。プロファイルは 指定されたリポジトリ(単一または複数)に対して実行されます。

profile_id
string
必須

実行する取り込みモードのスキャンプロファイル。取り込みプロファイルである必要があります。取り込み以外のプロファイルは 400 で拒否されます。

attachment_urls
string<uri>[] | null

スキャンに指定する Devin 添付ファイルの URL(例: attachments API を介してアップロードされたファイル)。添付ファイルは、スキャン対象の組織に属している必要があります。

Maximum array length: 10
Required string length: 1 - 2083
effort
enum<string> | null

スキャンの実行レベル:'normal'(デフォルト)では、モデルの推論レベルを低く設定し、トリアージと検証のバッチサイズを大きくします。'deep' ではパイプライン全体を実行します。

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

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

platform
string | null

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

Maximum string length: 128
repo_name
string | null

スキャン対象のリポジトリの完全名。repo_nameまたはreposのいずれか一方だけに値を与えてください。

repos
ScanRepoRequest · object[] | null

1回のスキャンで対象とするリポジトリ。最初の項目がスキャンのプライマリリポジトリになります。repo_nameまたはreposのいずれか一方だけに値を与えてください。

Maximum array length: 200

レスポンス

成功レスポンス

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。