連携を接続する

Gitプロバイダー(GitLabまたはGitHub)がリポジトリと組織を用意し、機能プロバイダー(Linear、Jira、Slack、Microsoft Teams)が起動と報告の場を足します。プロバイダーを接続すると、その既定ループが入ります。

TaskGoblinは2種類のツールに接続します。この違いが登録の流れを決めます。

  • GitプロバイダーGitLab または GitHub — がリポジトリを提供し、組織を用意します。組織ごとにちょうど1つで、サインイン時に決まります。
  • 機能プロバイダーLinearJiraSlackMicrosoft Teams — はループが動き、ゴブリンが報告できる場を足します。こちらはすでにある組織に接続します。

すべて組織メニューの 連携 から管理します(/{organisation}/integrations)。

プロバイダーを接続すると、その既定ループが入ります。 これが覚えておきたい実務上の意味です。連携は資格情報だけではなく、恒常的な挙動一式が一緒に付いてきます。何が入るかはイベントループをご覧ください。

Gitプロバイダー(GitLabまたはGitHub)

サインインすること自体がGitプロバイダーの接続です。1回のOAuth同意で認証と、組織およびリポジトリの用意が同時に済みます。「リポジトリを接続する」という別の手順がないのはこのためです。

GitLab

GitLabを接続すると、所属グループが列挙され、それぞれにTaskGoblinの組織が用意されます(加えて個人用の組織も)。ゴブリンはマージリクエストや課題に @taskgoblin として書き込みます。トークンの更新が必要になった場合は、連携ページのワンクリック再接続で対応できます。

導入されるもの: マージリクエストのレビュー割り当てられた課題の対応

GitHub

GitHubは従来のOAuthアプリではなく GitHub App です。任意の組織にTaskGoblinアプリをインストールすると、そのインストールが1つのTaskGoblin組織になります。アプリは必要に応じて短命のインストールトークンを発行し、ゴブリンは taskgoblin[bot] として書き込みます。権限はインストール自体を通じて更新されるため、GitHub組織で手動の再接続が必要になることはありません。

導入されるもの: プルリクエストのレビューラベル付き課題の対応

Git経由で用意された組織は、それを作ったプロバイダーに固定されます。そのプロバイダーのカードには「切断」ではなく再接続が表示されます。

機能プロバイダー

Linear

有効な組織へのワンクリックOAuth同意です。接続後、ゴブリンはTaskGoblinエージェントに割り当てられた課題を引き取り、課題とコメントを文脈として読み、状況・アクティビティ・マージリクエストのリンクを課題に書き戻します。

導入されるもの: 割り当てられた課題の対応

Jira

AtlassianのOAuth同意で、Jiraサイトを有効な組織に接続します。ゴブリンはTaskGoblinアカウントに割り当てられた課題を引き取り、課題コメントでのメンションに応答します。返信は課題へのコメントとして行い、依頼があればワークフローも進めます。

Jiraの課題がリポジトリ名を含むことはまれなので、ゴブリンは依頼内容、組織メモリ、接続済みリポジトリから宛先を割り出します。どうしても判断できないときは推測せず尋ねます。一度伝えれば十分で、答えは書き留められます。

導入されるもの: 割り当てられた課題の対応

Slack

Slackを接続すると、誰でもスレッドでゴブリンにメンションでき、会話が起きている場所で返信を受け取れます。ボットトークンは失効しないので、更新するものはありません。スケジュールループがダイジェストやリマインダーを届ける先も、指示にチャンネル名がある場合はSlackです。

独自のループは入りません。ここは場であって、トリガーではありません。

Microsoft Teams

Teamsのチャネル、グループチャット、ダイレクトメッセージでゴブリンにメンションすると、その場で返信し、作業の進行に合わせて自分のメッセージを書き換えていきます。接続時にMicrosoftテナントが検証されます。管理すべきボットトークンはありません。

独自のループは入りません。

ゴブリンはどうやって自分自身として認証するのか

TaskGoblinに個人アクセストークンを貼り付けることはありませんし、ゴブリンがあなたの資格情報を見ることもありません。

プロバイダーごとにボットの身元があります(GitLab・Slack・Teamsでは @taskgoblin、GitHubでは taskgoblin[bot])。サンドボックス内では、Gitの資格情報が実行時に組織単位で用意され(GitLabのOAuthトークン、または新しく発行されたGitHubのインストールトークン)、エージェントに読ませるのではなく、その周囲の環境に注入されます。

この境界は意図的なもので、ゴブリンが渡されたGitトークンではなく自前の連携経由でコメントする理由でもあります。あなたのトークンで投稿されたコメントはあなたの名前で表示されてしまうからです。ゴブリンの発言は、すべてゴブリン自身の名で行われます。

切断する

連携ページでプロバイダーを切断すると、ゴブリンはその権限を即座に失います。依存していたループは動かなくなり、そこでの読み書きも止まります。再接続すれば同じ接続が戻ります。

次に読むもの