This product is not supported for your selected
Datadog site. (
).
概要
Bits Code は ソースコードプロバイダー と統合され、Datadog で検出された問題に基づいてプルリクエストやマージリクエストを開き、更新し、反復処理します。セットアップが完了したら、Bits Code の使用を開始 できます。
前提条件
Bits Code をセットアップするには、Bits Code Write (bits_dev_write) 権限 が必要です。この権限は、Datadog 標準ロールなどの管理対象 Datadog ロールに含まれています。
オーガニゼーションがカスタムロールを使用している場合は、権限を手動で追加してください。詳細については、アクセス制御 を参照してください。
セットアップ
サポートされているソースコードプロバイダー のいずれかに対して Bits Code をセットアップします。
- GitHub インテグレーション をインストールします。インストールと構成の詳細な手順については、GitHub インテグレーションガイド を参照してください。
- GitHub アカウントで [Settings] (設定) > [Apps] (アプリ) > [Datadog] に移動し、GitHub の権限を構成します。
- Bits Code の基本機能を有効にするには、以下の権限を設定します。
- Repository permissions
- リポジトリのコンテンツ: 読み取りと書き込み
- プルリクエスト: 読み取りと書き込み
- Subscribe to events
- (オプション) プルリクエストの反復時に Bits Code が CI ログを使用できるようにするには、CI ログを Datadog に送信し、自動プッシュ機能を有効にする必要があります。このためには追加の権限が必要です。
- Repository permissions
- チェック: 読み取り
- コミットステータス: 読み取り専用
- Subscribe to events
- 実行のチェック
- スイートのチェック
- 問題のコメント
- ステータス
追加の構成
これらのオプションの構成は、Bits Code を最大限に活用する上で役立ちます。
Bits Code は service およびversion テレメトリタグを使用して、検出された問題 (エラーや脆弱性など) を、その時点で実行されていたコードのバージョンと照合します。
テレメトリタグ付けを構成するには、Git 情報を使用した APM テレメトリのタグ付け を参照してください。
また、Bits Code 設定の [Repositories] (リポジトリ) > [Service Repository Mapping] (サービスリポジトリ) で、サービスとリポジトリのマッピングを手動で構成することもできます。
自動プッシュの有効化
自動プッシュにより、Bits Code は支援できる問題を検出した際に、ブランチの作成、コードのプッシュ、PR または MR のオープンを行うことができます。自動プッシュは PR または MR を開いて変更をプッシュするだけのものであり、コードをマージすることはありません。自動プッシュが無効な場合、コードがプッシュされる前に Datadog でコードをレビューする必要があります。
自動プッシュを有効にするには、[Bits Code] > [Settings] (設定) > [General] (全般) に移動します。
セキュリティに関する考慮事項
AI ベースのツールに信頼できないデータの読み取りを許可すると、攻撃者がその出力に影響を与えることができるようになります。自動プッシュの動作は、Bits Code が扱うデータの種類によって異なります。コードのみのワークフローは、Agent が直接検査できるソースコードに対して動作しますが、テレメトリベースのワークフロー (エラーやトレースなど) には、信頼できないランタイム入力が含まれる場合があります。
安全性と自動化のバランスをとるために、Datadog で自動プッシュの動作を構成できます (例: 自動プッシュをコードのみのワークフローに制限する、またはテレメトリが関与する場合はレビューを必須にするなど)。Datadog は変更をプッシュする前に、Agent が生成したすべてのコードをスキャンしますが、これらのセーフガードはフールプルーフではありません。
Bits Code は、以下を含むリポジトリからカスタム指示ファイルを読み込みます。
AGENTS.mdCLAUDE.mdagent.md.cursorrules.windsurfrulescopilot-instructions.md
また、[Bits Code] > [Settings] (設定) > [General] (全般)]6 の [Global Agent Instructions] (グローバルエージェントの指示) セクションで、すべての Bits Code セッションに適用されるグローバルなカスタム指示を定義することもできます。
カスタム指示ファイルは、Bits Code に使用させたい カスタムスキル をメンションするのに適しています。
環境のセットアップ
ネットワークアクセスポリシーやリポジトリ固有のツールなど、Bits Code の実行環境を構成します。
デフォルトでは、Bits Code はエージェントの実行中にインターネットにアクセスできません。エージェントがアクセスできる外部ドメインを構成するには、[Bits Code] > [Settings] (設定) > [General] (全般) に移動し、[Internet Access] (インターネットアクセス) セクションを見つけます。アクセスポリシー No Internet Access、Default Allowlist、Custom + Default Allowlist、Custom Allowlist のいずれかを選択します。
デフォルトの許可リストには、以下のドメインが含まれています。このリストは、ユーザーからのフィードバックやエコシステムの変更に基づいて、今後変化していきます。変更を回避するには、カスタム許可リストを構成してください。
| 言語 | ドメイン |
|---|
| Clojure/JVM | repo.clojars.org |
| Go | pkg.go.dev、proxy.golang.org、sum.golang.org、vuln.go.dev |
| Java/JVM | repo1.maven.org |
| JavaScript/TypeScript | registry.npmjs.org, registry.yarnpkg.com, repo.yarnpkg.com |
| .NET/C# | api.nuget.org |
| PHP | packagist.org、repo.packagist.org |
| Python | files.pythonhosted.org、pypi.org、pypi.python.org、pythonhosted.org |
| Ruby | api.rubygems.org、index.rubygems.org、rubygems.org |
| Rust | index.crates.io、static.crates.io |
| Ubuntu | archive.ubuntu.com、ports.ubuntu.com、security.ubuntu.com |
Bits Code が依存関係、フォーマッター、リンター、およびコードベースに必要なビルドツールをインストールするためのカスタム環境を構成します。各リポジトリは分離された専用のサンドボックスで実行され、環境はそのサンドボックスの設定を定義します。
リポジトリ環境を構成するには、次のようにします。
- [Bits Code] > ]Settings] (設定) > [Repositories] (リポジトリ)]5 に移動し、[Environments] (環境) セクションを見つけます。
- [Add Environment] (環境を追加) をクリックしてリポジトリ構成を作成します。
- ドロップダウンからリポジトリを選択します。
- (オプション) [Pre-installed Languages] (事前にインストールされている言語) で [Select Versions] (バージョンを選択) をクリックし、サンドボックスが使用する言語バージョンを指定します。
- (オプション) 環境変数とシークレットを定義します。環境変数は、環境のセットアップ中と Bits Code の実行中の両方で使用できます。シークレットは、環境のセットアップ中にのみ環境変数として使用できます。
- (オプション) 実行するセットアップコマンドを含むシェルスクリプトを追加します (例:
pip install -r requirements.txt)。
- セットアップコマンドを実行して、コマンドが正常に実行されることを確認します。
- 構成を保存します。
Bits Code は起動時にセットアップコマンドを実行し、環境にインストールされているツールを使用できます。セットアップコマンドは、依存関係をダウンロードするためにネットワークアクセスが有効な状態で実行されます。セットアップ完了後、エージェント実行中のアウトバウンドネットワークアクセスは、インターネットアクセスポリシーによって制御されます。セットアップコマンドはリポジトリ内のコードに対して実行されるため、リポジトリのコードを信頼する場合にのみ有効にしてください。
注: 最適な結果を得るには、コードのビルドとテストの方法を記載したカスタム指示ファイル (例: claude.md) をリポジトリに追加してください。
トラブルシューティング
GitHub PR の作成の予期しない失敗
場合によっては、特にブランチが多いリポジトリでは、GitHub はセッション用のブランチを作成する際に権限チェックを実行しません。カスタム GitHub アプリを使用している場合は、GitHub インテグレーション でアプリに workflows:write 権限を追加することで、この問題を回避できます。
注: この権限により、Bits AI はリポジトリ内にワークフローを作成できるようになりますが、セキュリティ上の影響があります。
参考資料