Рабочий процесс YouTrack: предотвращение удаления

1

Я создал очень простую задачу рабочего процесса для экземпляра YouTrack на основе облака. Идея состоит в том, чтобы предотвратить (остановить рабочий процесс) удаление проблем (мы бы предпочли сохранить все проблемы, даже если они были отправлены по ошибке). Код приведен ниже.

var entities = require('@jetbrains/youtrack-scripting-api/entities');
var workflow = require('@jetbrains/youtrack-scripting-api/workflow');

exports.rule = entities.Issue.onChange({
  // TODO: give the rule a human-readable title
  title: 'When-issue-is-deleted',
  guard: function(ctx) {
    return ctx.issue.becomesRemoved;
  },
   action: function(ctx) {
     workflow.check(false, 'Do not remove issues, please');
  }
});

Хотя я считаю, что это должно работать, когда я пытался удалить новую только что созданную проблему, я не получал сообщений об ошибках, и проблема была удалена.

Теги:
youtrack
jetbrains

1 ответ

1
Лучший ответ

Я бы рекомендовал более простой способ - просто отключите разрешение "Удалить проблему" для соответствующих ролей (https://www.jetbrains.com/help/youtrack/standalone/Create-and-Edit-Roles.html#editing_existing_roles) и пользователей с этими ролями не удастся удалить проблемы.

Что касается свойства isRemoved, которое не работает должным образом - это известная проблема, пожалуйста, следуйте этому билету, чтобы получать дополнительные обновления: https://youtrack.jetbrains.com/issue/JT-29303.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню