依存関係
このワークフローでは、解決されていない依存する課題がある場合、課題の状態を修正済みに設定できません。
名前 | @jetbrains/youtrack-workflow-dependencies |
|---|---|
自動添付 | いいえ |
モジュール | ユーザーが未解決の依存関係の課題を解決できないようにする (変更時のルール) |
ユースケース
ユーザーが解決されていない別の課題に依存する課題を修正しようとすると、警告が表示されます。課題の状態を Fixed に設定することはできません。
モジュール
課題の状態が Fixed に設定されている場合、このモジュールの変更時ルールは、 -links に依存するリンクされた課題のリストをチェックします。
依存リストにリンクされた課題がある場合、ルールは各リンクされた課題の現在の状態をチェックします。
リンクされたすべての課題が解決した場合、続行して現在の課題を解決します。
リンクされた課題のいずれかが解決されない場合、警告が表示されます。元の課題の固定状態への移行はキャンセルされます。
ユーザーが未解決の依存関係の課題を解決できないようにする
const entities = require('@jetbrains/youtrack-scripting-api/entities');
const workflow = require('@jetbrains/youtrack-scripting-api/workflow');
exports.rule = entities.Issue.onChange({
title: 'Block users from resolving issues with unresolved dependencies',
guard: (ctx) => {
return ctx.issue.fields.becomes(ctx.State, ctx.State.Fixed) && ctx.issue.links['depends on'].isNotEmpty();
},
action: (ctx) => {
ctx.issue.links['depends on'].forEach(function (dep) {
if (!dep.project.isArchived && dep.isReported) {
workflow.check(dep.isResolved, 'The issue has unresolved dependencies and thus cannot be set Fixed! (depends on {0})', dep.id);
}
});
},
requirements: {
State: {
type: entities.State.fieldType,
Fixed: {}
},
Depend: {
type: entities.IssueLinkPrototype,
outward: 'is required for',
inward: 'depends on'
}
}
});
2025 年 11 月 21 日