Bits Code を使用した Slack でのコードチャンネル

This product is not supported for your selected Datadog site. ().

概要

コードチャンネルとは、特定のタスクについてコーディングエージェントと作業を行うための、専用かつ一時的な Slack チャンネルです。Slack で Bits Chat にコード変更を依頼すると、Bits Code はそのタスク用のコードチャンネルを作成します。あなたとチームは、元の会話を煩雑にすることなく、そのチャンネル上で作業の進捗を追跡したり、作業を誘導したり、結果をレビューしたりすることが可能です。

Bits Code との会話と、提案されたコード変更の差分表示が並んで表示されている Slack のコードチャンネル

コードチャンネルの詳細については、「Slack ドキュメント」をご覧ください。

コードチャンネルを作成する

Bits Code をセットアップし、コードチャンネルを有効化した後、Slack で @Datadog にメンションを送り、行いたいコード変更について説明することで、コードチャンネルを作成できます。Bits Chat がそのリクエストにコード変更が必要だと判断した場合、タスクは Bits Code に引き継がれ、Bits Code がコードチャンネルを作成します。Bits は、最初にプロンプトが入力された場所に、新しいコードチャンネルへのリンクを投稿します。

@Datadog にメンションする Slack メッセージと、それに続いて作成されたコードチャンネルを示すカード

Bits Code は、最初のリクエストに基づいてコードチャンネルに自動的に名前を付けます。作成されたコードチャネルは、Slack サイドバーの専用の Code channels セクションで確認できます。

権限とアクセス

@Datadog を呼び出したユーザーのみが、新しいコードチャンネルに自動的に追加されます。コードチャネルの公開範囲は、作成元のチャンネルの公開範囲を引き継ぎます (つまり、パブリックチャンネルで @Datadog にメンションした場合、作成されるコードチャンネルもパブリックになります)。

Bits Code は、 @Datadog @Datadog を入力してチャネルを作成したユーザーの権限を使用して、ソースコードリポジトリにアクセスします。また、チャネル内のすべてのユーザーに関する Datadog テレメトリ (Data Access Control の制限が適用された状態) にもアクセスできます。Bits Code は、これらのリポジトリデータやテレメトリをコードチャネル内に表示する場合があります。コードチャンネルの作成者には、コードチャンネルを表示できるすべてのユーザーがその内容を表示する権限を持っていること、およびコードチャンネルに参加できるすべてのユーザーが Bits Code を操作する権限を持っていることを確認する責任があります。

エージェントを操作するユーザーは、Slack と連携された Datadog アカウントを持っている必要があります。(Datadog アカウントを連携せずにコードチャネルに投稿した場合、Bits はそのメッセージを無視します。)

コードチャンネルでの作業

ほかの Slack チャンネルで Bits Chat からの応答が必要な場合は、毎回 @ でメンションする必要があります。コードチャンネルの動作は異なります。コードチャンネルでは、Bits Code が投稿されたすべてのメッセージを監視しています。それで、エージェントを操作し続けるために、@Datadog に再度メンションする必要はありません。

Bits Code が動作すると、コードチャンネルには以下が表示されます。

  • 提案されたコード変更の差分の表示
  • タスクに関連する場合の Datadog グラフウィジェット
  • 変更からプルリクエストを開くための Create PR ボタン

Bits Code がコードの差分を生成した後、コードチャンネル内で特定の行に直接コメントできます。

特定のコード行に対する質問の作成

各コードチャンネルでの作業は、Datadog の Bits Code セッションにも反映されます。これを表示するには、コードチャンネルの右下隅にある [</> Code session] をクリックします。

コードチャンネルでの作業方法の詳細については、「Slack ドキュメント」をご覧ください。

コードチャンネルにおける自動プッシュの仕組み

自動プッシュ設定が Always allow auto-push に設定されている場合、Bits Code は人間がボタンをクリックしなくても、エージェントとして変更をプッシュできます。エージェントとしてプッシュする際、Bits はコードチャンネル作成者のソースコードIDを使用してコミットとプルリクエストを作成します。

Bits Code がコードチャンネルからエージェントとしてコードをプッシュできるのは、チャンネル作成者およびチャンネルでメッセージを送信したすべてのユーザーが、Datadog に以下の権限を持つソース管理アカウントを連携している場合に限られます。

  • チャンネル内でプルリクエストが行われているすべてのリポジトリ、および変更を受け取るすべてのリポジトリに対する書き込みアクセス権
  • チャンネルに紐付けられたその他すべてのリポジトリに対する読み取りアクセス権

(これらの権限は、チャンネルに参加していてもメッセージを送信していないユーザーについては確認されません。)

コードチャンネルでメッセージを送信したユーザーの中に必要なリポジトリ権限を持っていないユーザーがいる場合、または Bits がその権限を確認できない場合、Bits は変更をエージェントとしてプッシュしません。この場合、必要な権限を持つユーザーであれば、引き続き Create PR または Update PR をクリックできます。これらのボタンは、そのユーザー単独の権限のみを、コードチャンネルに紐付けられたリポジトリ全体に対してチェックします。Create PR をクリックしたユーザーが、作成されるプルリクエストまたはマージリクエストの作成者となります。

制限事項

Bits Code の制限全般が、コードチャンネルにも適用されます。

参考資料