ワークフローを使用して課題の削除を防止する
YouTrack の権限設定を使用すると、課題を削除できるユーザーを制御できます。場合によっては、プロジェクトの権限設定を変更せずに課題の削除を防止したい場合があります。たとえば、一時的な制限を適用したり、ワークフローとして管理しやすいプロジェクト固有のポリシーを適用したりする必要がある場合などです。
ワークフロー内の課題をユーザーが削除できないようにするには、ユーザーが課題を削除しようとしたときにトリガーされる変更時ルールを使用します。
const entities = require('@jetbrains/youtrack-scripting-api/entities');
const workflow = require('@jetbrains/youtrack-scripting-api/workflow');
exports.rule = entities.Issue.onChange({
title: 'Prevent issue deletion',
guard: (ctx) => {
return ctx.issue.becomesRemoved;
},
action: () => {
workflow.check(false, 'You are not allowed to delete issues.');
},
runOn: {
removal: true
},
requirements: {}
});
ctx.issue.becomesRemoved プロパティは、課題削除時にルールがトリガーされた場合にのみ true を返します。ユーザーが課題を削除しようとしたときにこのルールを実行するには、runOn プロパティに removal: true が含まれている必要があります。
このルールが実行されると、workflow.check メソッドは削除をロールバックし、指定されたメッセージをユーザーに表示します。
guard 関数では、追加の条件を設定することでこのルールを拡張できます。たとえば、特定のプロジェクトでのみ課題の削除を許可したり、特定のフィールド値に一致する課題のみを削除を許可したりできます。
2026 年 7 月 06 日