js/mailbox-enhancements/restrict-visibility-for-confidential-email.js (34 lines of code) (raw):

var entities = require('@jetbrains/youtrack-scripting-api/entities'); exports.rule = entities.Issue.onChange({ title: 'Restrict visibility for confidential email', guard: function(ctx) { return ctx.issue.becomesReported; }, action: function(ctx) { var issue = ctx.issue; if (issue.summary.toLowerCase().includes('confidential') || issue.description.toLowerCase().includes('confidential')) { issue.tags.forEach(function(tag) { if (tag.name === 'mailbox') { ctx.issue.applyCommand('visible to mailbox-team'); } }); } issue.tags.forEach(function(tag) { if (tag.name === 'mailbox') { issue.applyCommand('remove tag mailbox', ctx.currentUser); } }); }, requirements: { State: { type: entities.State.fieldType, Open: { name: 'Open' } }, 'mailbox-team': { type: entities.UserGroup } } });