Публикация проекта и робота – это два связанных процесса, необходимых для того, чтобы созданный робот стал доступен для запуска. Сначала публикуется проект робота, затем – сам робот.

Процесс публикации

Чтобы опубликовать проект робота или самого робота перейдите в раздел «Проекты роботов», найдите нужный проект и нажмите соответствующую кнопку в строке проекта:

  • «Опубликовать проект» – для публикации проекта;
  • «Опубликовать робота» – для публикации робота.

Публикация проекта робота

  • Версия – версия публикуемого проекта. Минимальная версия при публикации – 0.0.1. Версия не может быть ниже последней опубликованной;
  • Проект робота – название проекта. Вы можете выбрать название опубликованного проекта из списка или указать новое:
    • если проект с указанным названием не существует, будет опубликован новый проект;
    • если проект с указанным названием существует, будет опубликован новая версия этого проекта;
  • Изменения в версии – здесь вы можете указать описание произведённых изменений;
  • Описание – описание проекта, которое может содержать детали проекта, предназначение разрабатываемого робота или что-то другое;
  • Группа – группа, в которую будет опубликован проект:
    • если проекта с указанным названием не существует, вы можете выбрать любую доступную группу из списка;
    • если проект с указанным названием существует, будет выбрана та же группа, в которой находится опубликованный проект;
    • если группа не выбрана – проект будет опубликован в тенант.

После публикации:

Публикация проекта робота невозможна, если:

  • схема робота содержит ошибки (подробнее читайте на странице «ROBIN Studio Web. Редактирование робота»);
  • текущая версия проекта уже опубликована и не содержит изменений;
  • указанное значение версии публикуемого проекта меньше последней опубликованной;
  • проект робота находится в недоступной пользователю группе.

Публикация робота

  • Версия – версия публикуемого робота. Определяется версией опубликованного проекта;
  • Робот – название робота. Определяется названием опубликованного проекта;
  • Изменения в версии – здесь вы можете указать описание произведённых изменений;
  • Описание – описание робота, которое может содержать предназначение разрабатываемого робота или что-то другое;
  • Группа – группа, в которую будет опубликован робот:
    • если робота с указанным названием не существует, вы можете выбрать любую доступную группу из списка;
    • если робот с указанным названием существует, будет выбрана та же группа, в которой находится опубликованный робот;
    • если группа не выбрана – робот будет опубликован в тенант.

После публикации:

  • робот отображается в списке роботов (подробнее читайте на странице «Раздел "Роботы"»).

Публикация робота невозможна, если: 

  • проект робота содержит неопубликованные изменения;
  • текущая версия робота уже опубликована;
  • проект робота находится в недоступной пользователю группе.

Дальнейшие шаги

О действиях с опубликованными проектами и роботами можно узнать тут:

Подробнее о группах проектов и роботов читайте тут:

Частые вопросы

Почему я не могу опубликовать робота без публикации проекта?

Проект обязателен к публикации, чтобы не возникло случаев, когда существует робот, его требуется доработать, но в связи с отсутствием проекта сделать этого нельзя.

<script>
  AJS.toInit(function() {
    var toc        = document.querySelector('.toc-float');
    var aside      = toc.closest('.cell.aside');
    var mainHeader = document.getElementById('main-header');
    var auiHeader  = document.querySelector('nav.aui-header');
    var marginTop  = 10; // дополнительный отступ сверху

    // Вставка заголовка, если ещё не вставлен
    function insertHeader() {
      if (!toc.querySelector('.toc-header')) {
        var header = document.createElement('div');
        header.textContent = 'На этой странице:';
        header.className = 'toc-header';
        header.style.fontWeight = 'bold';
        header.style.marginBottom = '10px';
        toc.insertBefore(header, toc.firstChild);
      }
    }

    // Применение inline-стилей
    function applyStyles() {
      insertHeader();

      // Получаем ширину родителя
      var asideRect = aside.getBoundingClientRect();

      // Вычисляем вертикальный отступ
      var offset = 0;
      if (mainHeader) {
        var mhRect = mainHeader.getBoundingClientRect();
        if (mhRect.bottom > 0 && mhRect.top < window.innerHeight) {
          offset = mhRect.bottom;
        }
      }
      if (offset === 0 && auiHeader) {
        var ahRect = auiHeader.getBoundingClientRect();
        offset = ahRect.bottom;
      }
      var topOffset = Math.max(offset + marginTop, asideRect.top);

      Object.assign(toc.style, {
        position:     'fixed',
        top:          topOffset + 'px',
        left:         asideRect.left + 'px',
        width:        asideRect.width + 'px',
        maxHeight:    (window.innerHeight - topOffset - 20) + 'px',
        overflowY:    'auto',
        boxSizing:    'border-box',
        border:       '1px solid #ddd',
        borderRadius: '4px',
        padding:      '15px',
        zIndex:       'auto'
      });
    }

    // Инициалный вызов
    applyStyles();

    // Обновление при скролле, ресайзе окна
    window.addEventListener('scroll', applyStyles);
    window.addEventListener('resize', applyStyles);

    // Наблюдатель за изменением размеров родителя
    if (window.ResizeObserver) {
      new ResizeObserver(applyStyles).observe(aside);
    }
  });
</script>