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

参照された課題

このワークフローは、コメントまたは説明で Id によって別の課題がメンションされると、参照リンクを自動的に追加します。

名前

@jetbrains/youtrack-workflow-referred-issues

自動添付

いいえ

モジュール

課題 ID が説明またはコメントに追加されたときに、課題に「参照する」リンクを追加する (変更時のルール)

ユースケース

このワークフローは、関連する課題間のリンクの作成を自動化できます。

このワークフローは、が参照する名前の課題リンクタイプを参照します。これは、デフォルトで YouTrack で使用できないカスタム課題リンクタイプです。このワークフローを使用するには、この課題リンクタイプをシステムに追加する必要があります。この課題リンクタイプを作成するときに、次の値を入力します。

フィールド

説明

名前

リファレンス (またはその他の名前、これはワークフローに影響しません)

外部名

参照先

リンク方向

未指定

一般的な手順については、課題リンクタイプの作成を参照してください。

モジュール

このモジュールのこの変更時ルールは、他の課題への参照について、課題の説明とコメントをチェックします。1 つ以上の参照が見つかった場合、課題はリンクへの参照として追加されます。

const entities = require('@jetbrains/youtrack-scripting-api/entities'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); exports.rule = entities.Issue.onChange({ title: 'Add "refers to" link to an issue when the issue ID is added to a description or comment', guard: (ctx) => { return !ctx.issue.comments.added.isEmpty() || ctx.issue.isChanged('description'); }, action: (ctx) => { const issue = ctx.issue; const startGroup = /(^|[',;.:"\\()?!<>#+|/\[\]\t\n\r ])/; const endGroup = /([',;.:"\\()?!<>#+|/\[\]\t\n\r ]|$)/; const issueIdGroup = '(' + issue.project.key.toLowerCase() + '-\\d+)'; const regexp = new RegExp(startGroup.source + issueIdGroup + endGroup.source, 'i'); let text = issue.comments.added.isEmpty() ? issue.description : issue.comments.added.first().text; let match = regexp.exec(text); const allMentionedIssues = {}; while (match) { const matchedIssueId = match[2].trim(); const referringIssue = entities.Issue.findById(matchedIssueId); if (referringIssue !== null) { issue.links[ctx.RefersTo.outward].add(referringIssue); allMentionedIssues[matchedIssueId] = true; } text = text.substring(match.index + match[0].length); match = regexp.exec(text); } const allAddedIssues = Object.keys(allMentionedIssues); if (allAddedIssues.length) { workflow.message('Automatically added \'refers to\' {0} links.', allAddedIssues.join()); } }, requirements: { RefersTo: { type: entities.IssueLinkPrototype, name: 'Refers', outward: 'refers to' } } });
2026 年 9 月 10 日