YouTrack および Hub ヘルプの開発者ポータル

Slack との統合の構築

ワークフロー API の http モジュールを使用すると、ワークフローを使って Slack とのプッシュ型連携をスクリプト化できます。この連携により、特定の課題発生時に Slack に通知を送信できます。

ワークフローベースの統合では、受信 Web フックを使用して、Slack と YouTrack の間の統合を可能にします。YouTrack ワークフローは、課題 ID と要約を含む JSON ペイロードを含む通常の HTTP リクエストを送信します。

この統合では、Slack に通知を投稿することしかできません。このタイプの統合では、直接メッセージをボットアカウントに送信して、ユーザーがコマンドに関する課題を更新することはできません。

Slack とのこの統合をセットアップするには、以下のステップに従ってください。

  1. Slack にカスタム統合を追加する

  2. Slack 通知ワークフローをカスタマイズする

  3. YouTrack で Slack 通知ワークフローを有効にする

ここで説明した基本的な設定では、単一の YouTrack プロジェクト内の課題イベントに関する通知を Slack 内の特定のチャンネルに投稿できます。より複雑な統合については、マルチチャネルおよびマルチプロジェクト構成を参照してください。

Slack にカスタム統合を追加する

このタイプの Slack 統合は、YouTrack ではプロジェクトごとに有効にされ、Slack では特定のチャンネルに対して有効にされます。

カスタム統合を追加するには:

  1. Slack で、YouTrack と統合したいチャンネルにアクセスします。

  2. 詳細パネルを開き、詳細メニューからアプリを追加するを選択します。

    Option to add an app to a Slack workspace.
    • アプリを追加するダイアログが Slack ワークスペースで開きます。

  3. ヘッダーのアプリを管理するリンクをクリックしてください。

    Link to manage apps for a Slack workspace.
    • Web ブラウザーに Slack アプリディレクトリページが開きます。

  4. ページヘッダーのビルドをクリックします。

    Option to build a new integration for Slack.
    • Slack API ページが開きます。

  5. 新しいアプリを作成するボタンをクリックしてください。

    Slack integration custom
    • Slack アプリを作成するダイアログが開きます。

      Create slack app dialog.
  6. フォーム内のフィールドに入力します。

    • アプリ名フィールドで、統合に名前を割り当てます。

    • 開発 Slack ワークプレースリストから、YouTrack と統合するチャネルを選択します。

  7. アプリを作成ボタンをクリックしてください。

    • 新しいアプリが基本情報ページに開きます。

  8. ページの機能を追加するセクションで、受信 Web フックをクリックします。

    Slack integration basic info.
    • 受信 Web フックページが開きます。

  9. 受信 Web フックを有効にするオプションをオンに切り替えます。

    Slack integration incoming webhooks
  10. ページの一番下までスクロールして、ワークスペースに新しい Web フックを追加するボタンをクリックします。

    Add new webhook to workspace.
    • Webhook が生成されます。

    • ページが開き、統合によってワークスペースのどこにメッセージを投稿するかを選択できます。

  11. リストから、YouTrack と統合するチャネルを選択します。

    Channel selection for posting integration messages.
  12. 許可ボタンをクリックしてください。

    • WebHook URL がワークスペースに追加されます。

  13. コピーボタンをクリックして、Webhook の URL をクリップボードにコピーします。

    Slack integration webhook URL.

    次の手順では、この URL を YouTrack のワークフロールールに追加します。

  14. 必要に応じて、カスタム統合の設定をカスタマイズします。

  15. 「設定を保存」ボタンをクリックします。

アプリの基本情報ページでカスタマイズできるその他の設定があります。これらの設定は、チャンネルに通知を投稿するアカウントの外観に影響します。

Slack integration settings.

このページの情報を表示するセクションでは、以下の設定が利用可能です。

設定

説明

アプリ名

統合によって投稿された通知に表示される名前をカスタマイズできます。

簡単な説明

このアカウントがチャネルに通知を投稿している理由を説明できます。

アプリのアイコンとプレビュー

この統合からの通知にカスタムイメージを表示します。

背景色

背景色をカスタマイズします。

Slack Notifications ワークフローをカスタマイズする

次のステップは、デフォルトの Slack 通知ワークフローを編集して、Slack のあなたのチャンネルに通知を送信することです。

Slack 通知ワークフローをカスタマイズするには

  1. 管理メニューからワークフローを選択します。

  2. 変更する Slack 通知ワークフローを見つけて、リスト内のその名前をクリックします。

    • ワークフローがワークフローページに表示されます。

  3. 左側のメニューで send-to-slack リンクをクリックしてください。

    • send-to-slack ルールがワークフローエディターに表示されます。

  4. SLACK_WEBHOOK_URL の変数宣言を見つけて、前の手順でカスタム統合からコピーした Web フック URL で値を置き換えます。

  5. ワークフローエディターの保存ボタンをクリックします。

    • 変更内容がスクリプトに適用されます。

YouTrack で Slack 通知ワークフローを有効にする

最後のステップは、Slack 通知ワークフローを YouTrack のプロジェクトにアタッチすることです。

Slack 統合ワークフローを有効にするには

  1. Slack と統合したいプロジェクトを開きます。

  2. プロジェクトの編集リンクをクリックします。

  3. ワークフロータブを選択します。

  4. ワークフローを割り当てリストから、Slack 通知を選択します。

    • Slack 統合ワークフローはプロジェクトにアタッチされています。

  5. ワークフローの横に必須設定ラベルが表示されている場合は、サイドバーのプロジェクトの構成ボタンをクリックしてエラーを解決します。

    • ワークフローが有効になり、プロジェクトで使用できるようになります。

セットアップが完了し、ワークフローがプロジェクトにアタッチされると、プロジェクトで課題が作成、解決、再開されたときに通知がチャネルに送信されます。チームにとって重要な他のイベントを含める場合は、この通知スキームを簡単にカスタマイズできます。

New issue notification in Slack.

各通知で、YouTrack issue ID は YouTrack の issue への直接リンクとして設定されています。

マルチチャネルおよびマルチプロジェクト構成

基本設定では、単一の YouTrack プロジェクトから Slack の特定のチャンネルに更新を投稿することができます。ただし、より複雑な統合シナリオに合わせてこの設定を簡単に構成できます。

1 つのプロジェクト、多チャンネル

Slack 統合ワークフローは、1 つの YouTrack プロジェクトと Slack の 1 つのチャンネル間の統合をサポートするようにスクリプト化されています。Slack のさまざまなチャンネルにカスタム統合を追加し、各チャンネルの Webhook URL をワークフロールールに追加できます。

この場合をサポートするようにワークフロールールをカスタマイズするには、接続を確立して通知を送信するコードブロックを変更します。次のサンプルを参考にしてください。

const sendTo = function (hook) { const connection = new http.Connection(hook, null, 2000); const response = connection.postSync('', null, JSON.stringify(payload)); if (!response.isSuccess) { console.warn('Failed to post notification to Slack. Details: ' + response.toString()); } } sendTo('https://hooks.slack.com/services/T00000001/B000000001/XXXXXXXXXXXXXXXXXXXXXXXX'); sendTo('https://hooks.slack.com/services/T00000002/B000000002/XXXXXXXXXXXXXXXXXXXXXXXX'); sendTo('https://hooks.slack.com/services/T00000003/B000000003/XXXXXXXXXXXXXXXXXXXXXXXX');

多数のプロジェクト、1 チャンネル

複数の YouTrack プロジェクトから Slack の単一チャンネルに通知を送りたい場合、設定は比較的簡単です。

  1. ここに記載されている手順に従って、Slack チャンネルの URL をワークフロールールに追加します。

  2. Slack に報告したいすべてのプロジェクトにこのワークフローをアタッチしてください。

別々のプロジェクト、別々のチャンネル

もう少し複雑な設定では、別々のチャンネルでさまざまなプロジェクトについて議論する複数のチームがあります。特定のプロジェクトからの通知を、各チームがそれぞれの課題について議論しているチャネルに転送します。

この状況に対処する最も簡単な方法は、プロジェクトごとに別々のワークフローを作成し、それに応じてルールをカスタマイズすることです。

このユースケースをサポートするには

  1. ワークフローエディターで新しいワークフローを作成します。ワークフローに、適用先のプロジェクトとの関係を示す名前を付けます。

  2. Slack Notifications ワークフローからルールをコピーし、変更時ルールとして新しいワークフローに追加します。

  3. このプロジェクトで通知する Slack チャンネルを参照するようにワークフロールールの Webhook URL を更新します。

  4. ワークフローエディターで変更を保存します。

  5. 各プロジェクトで通知するチャンネルごとに手順 1 〜 4 を繰り返します。

  6. 各ワークフローをカスタマイズしたプロジェクトにアタッチします。

別の方法は、ワークフロールールに条件付きステートメントを追加することです。条件付きステートメントを使用すると、各号が属するプロジェクトを識別し、Slack の専用チャンネルに通知を送信できます。新しいプロジェクトで Slack 統合を有効にしたい場合は、ワークフローで参照されているすべてのプロジェクトに同じワークフローをアタッチし、同じワークフロールールセットを更新することができます。

このユースケースをサポートするには、各プロジェクトを特定のチャンネルに関連付ける条件付きステートメントを追加します。次のサンプルを参考にしてください。

const hooks = { ctx.Project1.key: 'https://hooks.slack.com/services/T00000001/B000000001/XXXXXXXXXXXXXXXXXXXXXXXX', ctx.Project2.key:'https://hooks.slack.com/services/T00000002/B000000002/XXXXXXXXXXXXXXXXXXXXXXXX' }; if (hooks[issue.project.key]) { const connection = new http.Connection(hooks[issue.project.key], null, 2000); const response = connection.postSync('', null, JSON.stringify(payload)); if (!response.isSuccess) { console.warn('Failed to post notification to Slack. Details: ' + response.toString()); } } else { console.warn('Project ' + ctx.project.key + ' does not have an associated Slack hook!'); }
2026 年 9 月 10 日