Jelly – это скриптовый и шаблонный язык из проекта Apache Джакарты. Он похож на Ant, в том, что скрипты являются XML, и каждый тег сопоставляется с классом Java, но имеет более сложную внутреннюю модель конвейера для взаимодействия тегов, подобно JSP taglib. Более подробную информацию см. на сайте Jelly.

 

JIRA поставляется с несколькими тегами Jelly, реализующими основные операции в JIRA. Это обеспечивает скриптовый интерфейс для JIRA. Существует много возможных применений для тегов JIRA Jelly, наиболее распространенным из которых является импорт данных в JIRA из других систем и автоматизация общих административных задач (см. примеры ниже).

Включение Jelly

Поддержка Jelly JIRA по умолчанию отключена, поскольку Jelly, в принципе, позволяет запускать произвольный код Java на сервере под учетной записью Tomcat. В некоторых средах это может считаться угрозой безопасности, в зависимости от того, кому разрешено настраивать и запускать сценарии Jelly (требуется разрешение «Системные администраторы JIRA»). Мы рекомендуем использовать Jelly только тогда, когда вы абсолютно не можете обойтись без него и отключите поддержку Jelly, когда вам это больше не нужно.

Чтобы включить Jelly, установите системное свойство jira.jelly.on при запуске сервера приложений. Свойства системы устанавливаются с параметрами в java-команду, например. java -Djira.jelly.on = true … (Этот параметр можно установить в файле setenv.sh (Linux) или setenv.bat (Windows) в папке / bin)

 

Как установить это свойство зависит от вашего сервера приложений. Например, установите переменную среды JAVA_OPTS = -Djira.jelly.on = true или при запуске JIRA в качестве службы задайте параметр JVM службы.

Запуск скрипта Jelly

Чтобы запустить скрипт для Jelly один раз:

  • Войдите в систему как пользователь с глобальным разрешением «Системные администраторы JIRA».
  • Выберите шестеренка> Система. Выберите Расширенно> Jelly Runner, чтобы открыть страницу Jelly Runner.
  • Тэги Jelly Комбинация клавиш: ‘g’ + ‘g’ + наберите ‘jel’

  • Вставьте скрипт Jelly в текстовую область.
  • Периодически запускайте скрипт Jelly:

    • Настройте службу следующим классом:

    com.atlassian.jira.jelly.service.JellyService

    Ограничение  Jelly

    Чтобы удалить интерфейс для вставки скриптов в:

  • Отредактируйте atlassian-jira / secure / admin / views / jelly_runner.jsp
  • Добавьте отключенный атрибут в текстовое поле, например.<ui: textarea label = “text (‘admin.jellyrunner.jelly.script.xml’)” name = “‘script'” rows = “’40′” cols = “’80′” disabled = “true” />
  • Это предотвращает вставку текста в страницу Jelly Runner. Обратите внимание, что это только изменение интерфейса, и все же возможно запустить скрипты Jelly, отправив HTTP-запрос с нужным контентом.

    Написание сценария Jelly

    JIRA: AddActorsToDefaultProjectRole

    JIRA: AddActorsToProjectRole

    JIRA: AddComment

    JIRA: AddComponent

    JIRA: AddFieldToScreen

    JIRA: AddPermission

    JIRA: AddUserToGroup

    JIRA: AddVersion

    JIRA: AssignIssue

    JIRA: AttachFile

    JIRA: CreateCustomField

    JIRA: CreateGroup

    JIRA: CreateIssue

    JIRA: CreatePermissionScheme

    JIRA: CreateProject

    JIRA: CreateProjectRole

    JIRA: CreateUser

    JIRA: DeleteProjectRole

    JIRA: GetDefaultRoleActors

    JIRA: GetProjectRole

    JIRA: GetProjectRoleActors

    JIRA: IsProjectRoleNameUnique

    JIRA: LinkIssue

    JIRA: Login

    JIRA: RemoveActorsFromDefaultProjectRole

    JIRA: RemoveActorsFromProjectRole

    JIRA: RemoveUser

    JIRA: RunSearchRequest

    JIRA: SelectComponentAssignees

    JIRA: TransitionWorkflow

    JIRA: UpdateProjectRole

    Скрипты обычно имеют форму:

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <!–
    Добавьте свой собственный Jelly XML здесь
    –>
    </JiraJelly>

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

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib”>
    <!–
        Добавьте свой собственный Jelly XML здесь
    –>
    </JiraJelly>

    В дополнение к тегам JIRA вы можете использовать теги из электронной почты, http, soap, sql и core Jelly taglib. В случае необходимости пользователь может добавить больше.

     

    Многие Jelly-теги JIRA устанавливают контекстные переменные, поэтому последующие теги могут ссылаться на их вывод путем разыменования контекстной переменной (например, $ {jira.new.username}). Другие теги позволяют явно указывать имя переменной для хранения некоторого вывода, например, <jira: CreateUser> имеет параметры issueKeyVar и issueIdVar:

    <jira:CreateIssue project-key=”TP” summary=”Issue One” issueKeyVar=”issuekey” issueIdVar=”issueid”/>
    Raised issue ${issuekey} with id ${issueid}

    Обратите внимание, что переменная устанавливается только после закрытия тега, а не внутри тега.

    Тэги Jelly Обратите внимание: из-за этой интерполяции переменной, если ваш текст содержит что-либо вида $ {something}, вам нужно избежать этого как $$ {something}, чтобы предотвратить «переменную», которая была расширена до пустой строки.

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

    Специальный Символ

    Избегаемый эквивалент

    Амперсанд (&)

    &amp;

    апостроф или одинарная кавычка (‘)

    &apos;

    двойная кавычка (“)

    &quot;

    меньше (<)

    &lt;

    больше (>)

    &gt;

     

    Список доступных в настоящее время тегов:

    JIRA: AddActorsToDefaultProjectRole

    Этот тег добавит «участников» к членству по умолчанию для данной роли проекта. Актеры могут быть определены как группы или пользователи, т. е. вы можете добавить как пользователей, так и группы в роль проекта.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

    int

     

    Это идентификатор роли проекта.

    actors

    string

     

    Список разделенных запятыми пользователей или групп

    actortype

    string

     

    Это определяет тип «актер», который вы отправляете в тег. В настоящее время это поле может содержать «atlassian-user-role-actor» для пользователей или «atlassian-group-role-actor» для групп.

    Примеры

    Добавление списка пользователей или групп по умолчанию в роль проекта

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddActorsToDefaultProjectRole projectroleid=”1″ actors=”fred,admin,tom”
    actortype=”atlassian-user-role-actor” />
    </JiraJelly>

    JIRA: AddActorsToProjectRole

    Этот тег добавит «участников» к заданной роли проекта для конкретного проекта. Актеры могут быть определены как группы или пользователи, т. е. Вы можете добавить как пользователей, так и группы в роль проекта.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

    int

     

    Это идентификатор роли проекта.

    actors

    string

     

    Это список с разделителями-запятыми с именами пользователей или групп

    actortype

    string

     

    Это определяет тип «actor». В настоящее время это поле может содержать «atlassian-user-role-actor» для пользователей или «atlassian-group-role-actor» для групп.

    projectkey

     

     

    string

     

    Это ключ проекта, для которого вы хотите добавить пользователей или группы для указанной роли.

     

    Примеры

    Добавление списка пользователей или групп в роль проекта

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddActorsToProjectRole projectroleid=”1″ actors=”jira-administrators,jira-users”
    projectkey=”MKY” actortype=”atlassian-group-role-actor” />
    </JiraJelly>

    jira:AddComment

    This function adds a comment to an Issue.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    issue-key

     

     

    string

     

    Задача добавления комментария к (необходимому).

    commenter

     

     

    string

    В настоящее время вошедший пользователь

    Имя пользователя, чтобы сделать комментарий (Должны иметь разрешения на просмотр и комментарий).

    comment

     

     

    string

     

    Комментарий добавляется к задаче (обязательно).

    groupLevel

     

     

    string

     

    none

    Название группы, которая может видеть этот комментарий. ПРИМЕЧАНИЕ. Если это указано, вы не можете указать параметр roleLevel.

    roleLevel

     

     

     

    string

     

    none

    Имя или идентификатор роли проекта, которые могут видеть этот комментарий. ПРИМЕЧАНИЕ. Если это указано, вы не можете указать параметр groupLevel.

    created

     

     

     

    string

     

    Current Date/Time

    Дата / время Комментарий был создан в формате yyyy-MM-dd hh: mm: ss.0

    updated

     

     

     

    string

     

    Current Date/Time

    Дата / время Комментарий последний раз обновлялся в формате yyyy-MM-dd hh: mm: ss.0. Это можно использовать, если вы пытаетесь импортировать комментарий с определенными ранее существующими значениями

    editedBy

     

     

     

    string

     

    Currently logged in user

    Имя пользователя, который последний раз обновил комментарий. Это можно использовать, если вы пытаетесь импортировать комментарий с определенными ранее существующими значениями.

    tweakIssueUpdateDate

     

     

     

    boolean

     

    true

    Если предоставляются обновленные данные, обновленные данные задачи будут обновлены с этим значением. Если для параметра tweakIssueUpdateDate установлено значение false, обновленная временная метка задачи будет оставлена нетронутой.

    Примеры

    Создать комментарий

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddComment comment=”Issue comment” issue-key=”ABC-1″
    groupLevel=”admin-group”/>
    </JiraJelly>

    Создать задачу и комментарий

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateIssue project-key=”TP” issueType=”Bug” summary=”Issue summary” issueKeyVar=”key”/>
    <jira:AddComment issue-key=”${key}” comment=”A comment on ${key}”/>
    </JiraJelly>

    JIRA: AddComponent

    Добавляет компонент в проект.

     

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    project-key

     

     

    string

     

    Ключ проекта, к которому вы хотите добавить компонент (не требуется, если он вложен внутри тега).

    name

     

     

    string

     

    Название компонента (обязательно).

    description

     

     

    string

     

    Описание компонента.

     

    componentLead

     

     

    string

     

    Имя пользователя ведущего Компоненты. Оставьте пробел ни для какого ведущего.

     

    Примеры

    Создать компонент

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddComponent project-key=”ABC” name=”Comp 1″ description=”Comp 1 description”/>
    </JiraJelly>

    Создание компонента в проекте

    <JiraJelly xmlns: jira = “желе: com.atlassian.jira.jelly.JiraTagLib”>
    <jira: CreateProject key = “ABC” name = “A Project” lead = “logged-in-user”>
    <jira: AddComponent name = “Comp 1” />
    </ JIRA: CreateProject>
    </ JiraJelly>

    Создание компонента с помощью  ведущего компоненты

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddComponent project-key=”ABC” name=”Comp 1″ description=”Comp 1 with lead” componentLead=”user-name”/>
    </JiraJelly>

    JIRA: AddFieldToScreen

    Добавляет поле к определенной вкладке на экране. Можно также указать, в какую позицию вставить поле.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    ffldId

     

     

    string

     

    Идентификатор поля для добавления поля (обязательно). например «описание», «duedate» и т. д.

    screen

     

     

    string

     

    Идентификатор экрана или имя (обязательно). например «1» или «Экран по умолчанию».

    tab

     

     

     

    string

     

    0

    Идентификатор вкладки или имя. например «0» или «Поле вкладки».

    fieldPosition

     

     

     

    int

     

    Последняя позиция

    Позиция для ввода поля. Диапазон значений – от 1 до количества полей на экране.

     

    Примеры

    Добавление полей на экран

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <!– Adds ‘description’ field to the ‘Field Tab’ on ‘Default Screen’ –>
    <jira:AddFieldToScreen fieldId=”description” screen=”Default Screen” tab=”Field Tab”/>

    <!– Adds ‘duedate’ field to same screen as above. duedate is inserted in position 1 –>
    <jira:AddFieldToScreen fieldId=”duedate” screen=”1″ tab=”0″ fieldPosition=”1″/>
    </JiraJelly>

    Создание нового пользовательского поля и добавление  его на экран

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateCustomField fieldType=”cascadingselect”
    fieldScope=”issuetype”
    fieldName=”Issue cascadingselect Bug”
    issueType=”Bug”
    description=”Bank have requested Y2K fixes to be sent as an EBF.”
    searcher=”cascadingselectsearcher”
    customFieldIdVar=”customField”
    >
    <jira:AddCustomFieldSelectValue value=”Parent 1″ />
    <jira:AddCustomFieldSelectValue value=”Parent 2″>
    <jira:AddCustomFieldSelectValue value=”Child 1″ />
    <jira:AddCustomFieldSelectValue value=”Child 2″ />
    </jira:AddCustomFieldSelectValue>
    <jira:AddCustomFieldSelectValue value=”Parent 3″ />
    </jira:CreateCustomField>

    <jira:AddFieldToScreen screen=”Default Screen” fieldId=”${customField.getId()}”/>
    </JiraJelly>

    JIRA: AddPermission

    Предоставляет разрешения в пределах схемы разрешений. Часто вложен в тег JIRADOC: CreatePermissionScheme.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    schemeId

    string

     

    Если он не вложен в тег CreatePermissionScheme, то он  указывает идентификатору схемы добавить разрешение (0 – схема разрешения по умолчанию).

    permissions

     

     

    required string

     

    Список разрешеений разделов с разделеннымизапятыми:

    Строка – разрешение

     

    Project – администрирование проектов

    Browse- Просмотр проектов

    Create – создавать проблемы

    Edit  – Изменить проблемы

    ScheduleIssue – Расписание вопросов

    Move  – переместить проблемы

    Assign – назначить проблемы

    Assignable- назначаемый пользователь

    Решить – решить проблемы

    Resolve – Закрыть вопросы

    ModifyReporter – Изменить репортера

    Comment – Добавить комментарий

    CommentEditAll – Редактировать все комментарии

    CommentEditOwn – Редактировать собственные комментарии

    CommentDeleteAll – Удалить все комментарии

    CommentDeleteOwn – удалить собственные комментарии

    Delete  – Удалить проблемы

    Работа – работа над проблемами

    WorklogEditAll – редактирование всех журналов

    WorklogEditOwn – редактирование собственных журналов

    WorklogDeleteOwn – удаление собственных журналов

    WorklogDeleteAll – удалить все журналы

    Link- Связать задачи

    Attach – создать вложения

    AttachDeleteAll – удалить все вложения

    AttachDeleteOwn – удаление собственных вложений

    ViewVersionControl – просмотр контроля версий

    ViewVotersAndWatchers – Просмотр избирателей и наблюдателей

    ManageWatcherList – управлять списком наблюдателей

    SetSecurity – установить уровень безопасности задач

    type

     

     

    string

     

    Тип получателя для разрешения::

     

    group

    projectrole

    user

    lead

    assignee

    reporter

    userCF

    groupCF

    group

     

    string

    string

     

    Если тип – это «группа» (или тип не указан), задается имя группы для предоставления разрешений.

    projectroleid

     

     

    int

     

    Если type является «projectrole», он указывает индентификатор projectroleдля предоставления разрешений.

    user

     

    string

     

    Если тип «пользователь»,он  задает имя пользователя для предоставления разрешений.

    userCF

     

     

    string

     

    Если тип «userCF», он указывает идентификатор пользовательского поля пользователя, например. «customfield_10000», идентифицирующий пользователя, которому будет предоставлено разрешение.

    groupCF

    string

     

    Если type является «groupCF», задается идентификатор пользовательского поля для выбора группы (например, список выбора с именами групп в качестве значений), членам которых должно быть предоставлено это разрешение. Например. ‘Customfield_10000.

     

    Примеры

    Предоставить разрешения для пользователей jira и jira-разработчиков в новой схеме разрешения

    (См. Также сценарии JIRADOC: пример)

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreatePermissionScheme name=”New Permission Scheme”>
    <jira:AddPermission group=”jira-users” permissions=”Browse,Create,Comment,Attach” type=”group”/>
    <jira:AddPermission group=”jira-developers” permissions=”Move,Assignable,Link,ViewVersionControl” type=”group”/>
    </jira:CreatePermissionScheme>
    </JiraJelly>

    Репортерам задач предоставить возможность редактировать / удалять свои собственные задачи, в новой схеме разрешения

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib”>
    <jira:CreatePermissionScheme name=”New Permission Scheme”>
    <jira:AddPermission type=”reporter” permissions=”Delete, Edit”/>
    </jira:CreatePermissionScheme>
    </JiraJelly>

    Сделать проекты с использованием схемы разрешений по умолчанию видимыми для определенных пользователей

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib”>
    <jira:AddPermission schemeId=”0″ permissions=”Browse” type=”user” user=”johnc”/>
    <jira:AddPermission schemeId=”0″ permissions=”Browse” type=”user” user=”ebf”/>
    </JiraJelly>

    Предоставление групповому селектору членов пользовательских полей  способность назначать / быть назначенной задачу(ей).

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddPermission schemeId=”10164″ type=”groupCF” groupCF=”customfield_10000″
    permissions=”Assign,Assignable” />
    </JiraJelly>

    JIRA: AddUserToGroup

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

     

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    username

     

     

    string

     

    Имя пользователя для добавления в группу (требуется, если нет в теге).

    group-name

     

     

    string

     

    Группировать, чтобы добавить пользователя в (требуется, если нет в теге). Примечание: если у группы есть глобальные разрешения «Системные администраторы JIRA», а вошедшего в систему пользователя не будет, появится сообщение об ошибке, и операция не будет выполнена.

     

    Имя пользователя задается в контексте, если указано в теге. Имя группы устанавливается в контексте, если указано в tag.h4. Примеры

     

    Добавить пользователя в группу

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddUserToGroup username=”new-user” group-name=”new-group”/>
    </JiraJelly>

    Добавить нового  пользователя в группу

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateUser username=”new-user” password=”password” confirm=”password”
    fullname=”Full name” email=”[email protected]”>
    <jira:AddUserToGroup group-name=”new-group”/>
    </jira:CreateUser>
    </JiraJelly>

    Добавить пользователя в новую группу

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateGroup group-name=”new-group”>
    <jira:AddUserToGroup username=”new-user”/>
    </jira:CreateGroup>
    </JiraJelly>

    Добавить нового пользователя в новую группу

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateUser username=”new-user” password=”password” confirm=”password”
    fullname=”Full name” email=”[email protected]”/>
    <jira:CreateGroup group-name=”new-group”>
    <jira:AddUserToGroup/>
    </jira:CreateGroup>
    </jira:CreateUser>
    </JiraJelly>

    JIRA: AddVersion

    Добавляет версию в проект.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    project-key

     

     

    string

     

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

    name

     

     

    string

     

    Название версии (обязательно).

    description

     

     

    string

     

    Описание версии.

    releaseDate

     

     

    string

     

    Дата релиза версии.

    schedule

     

     

    string

     

    Расписание версии.

     

    Примеры

    Создать версию

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:AddVersion project-key=”ABC” name=”Ver 1″/>
    </JiraJelly>

    Создание версии в проекте

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateProject key=”ABC” name=”A Project” lead=”logged-in-user”>
    <jira:AddVersion name=”Ver 1″/>
    </jira:CreateProject>
    </JiraJelly>

    JIRA: AssignIssue

    Назначает задачу пользователю.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    key

    string

     

    Ключ задачи для назначения.

    assignee

     

     

    string

     

    Пользователь должен назначить задачу.

    Примеры

    Создание и назначение задачи

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
      <jira:CreateIssue project-key=”TST” summary=”My Issue summary” issueKeyVar=”keyvar”/>
      <jira:AssignIssue key=”${keyvar}” assignee=”testuser”/>
    </JiraJelly>

    JIRA: AttachFile

    Прикрепляет файл к проблеме.

     

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    key

    string

     

    Ключ задачи для присоединения файла. (Обязательно)

    filepath

     

     

    string

     

    Путь (на сервере) файла для присоединения. (Обязательно)

    option

     

     

     

    string

     

    add

    Поведение, когда файл с тем же именем уже прикреплен. (Необязательный). Возможные варианты:

     

    ·         skip – не прикреплять файл, если файл с этим именем уже прикреплен.

    ·         override – перезаписать существующий прикрепленный файл

    ·         add – добавить файл в качестве другого вложения

    created

     

     

     

     

    string

    Current Date/Time

    Дата / время создания вложения в формате yyyy-MM-dd hh: mm: ss.0 (необязательно)

     

    Примеры

    Добавление вложения

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
      <jira:AttachFile key=”TST-1″ filepath=”/tmp/somefile” option=”override”/>
    </JiraJelly>

    JIRA: CreateCustomField

    Тег создает новое пользовательское поле. Только специальные пользовательские поля могут быть добавлены с помощью тегов Jelly.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    fieldType

    string

     

    Тип поля, который отображается как ключ в дескрипторе плагина

    fieldScope

    string

     

    Один из глобальных, проектных или  типов задач

    fieldName

    string

     

    Название пользовательского поля

    projectKey

    string

     

    Ключ к соответствующему проекту. Действителен только для области “проект”

    issueType

    string

     

    Тип задачи. Действителен только для области “issuetype”

    description

    string

     

    Описание поля, которое должно отображаться при добавлении значения

    searcher

    string

     

    Действительный связанный  поисковик пользовательского поля

    ·         textsearcher

    ·         exacttext

    ·         searcher

    ·         daterange

    ·         datetimerange

    ·         exactnumber

    ·         numberrange

    ·         versionsearcher

    ·         projectsearcher

    ·         userpickersearcher

    ·         userpickergroupsearcher

    ·         groupickersearcher

    ·         selectsearcher

    ·         radiosearcher

    ·         cascadingselectsearcher

    ·         multiselectsearcher

    ·         checkboxsearcher

    ·         labels

    customFieldIdVar

    string

     

    Имя переменной для размещения нового пользовательского поля.

     

    Примеры

    Создание каскадного пользовательского поля

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

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateCustomField fieldType=”cascadingselect”
    fieldScope=”issuetype”
    fieldName=”Issue cascadingselect Bug”
    issueType=”Bug”
    description=” Банк запросил исправления Y2K для отправки в виде EBF ”
    searcher=”cascadingselectsearcher”

    <jira:AddCustomFieldSelectValue value=”Parent 1″ />
    <jira:AddCustomFieldSelectValue value=”Parent 2″>
    <jira:AddCustomFieldSelectValue value=”Child 1″ />
    <jira:AddCustomFieldSelectValue value=”Child 2″ />
    </jira:AddCustomFieldSelectValue>
    <jira:AddCustomFieldSelectValue value=”Parent 3″ />
    </jira:CreateCustomField>
    </JiraJelly>

    jira: CreateGroup

    Создает группу в JIRA.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    group-name

    string

     

    Название группы для создания (требуется).

    Контекстные переменные

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    jelly.group.name

    string

     

    Имя создаваемой группы.

     

    Примеры

    Создать группу

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateGroup group-name=”new-group”/>
    </JiraJelly>

    jira: CreateIssue

    Этот тег создает новую задачу в JIRA и помещает идентификатор задачи в контекст.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    project-key

    string

     

    Ключ проекта для добавления задачи (требуется, если не вложен в тег).

    issueType

    string

    Первый тип задачи

    Строковое имя типа задачи которая должна быть создана для (например, ошибки).

    summary

    string

     

    Краткое описание создаваемой задачи (обязательно).

    priority

    string

    Высокий приоритет

    Имя строки приоритета (например, майор).

    components

    string

     

    Строковое имя компонента.

    versions

    string

     

    Строковое имя затронутой версии.

    fixVersions

    string

     

    Строковое имя Исправления для версии.

    assignee

    string

     

    Имя пользователя для назначения этой задачи (для входа в систему пользователя требуется разрешение на выдачу разрешения, а для указанного пользователя требуется назначаемое разрешение). Установите значение «-1» для автоматического назначения.

    reporter

    string

     

    Имя пользователя, сообщающего об этой задаче. Пользователь входит в систему, а затем создается задача. Пользователь снова выходит из системы, когда тег “Создать задачу” закрывается.

    Если у зарегистрированного пользователя нет прав “Изменить репортера”, значение по умолчанию этого атрибута является именем пользователя вошедшего в систему. Если, однако, у зарегистрированного пользователя есть привилегия “Изменить репортера”, значение по умолчанию отсутствует, и этот атрибут является обязательным. См. JRA-12984 для дальнейшего объяснения.(Разбито? См. JRA-5620.)

    environment

    string

     

    Описание среды.

    description

    string

     

    Подробное описание задачи.

    duedate

    string

     

    Сроки задачи. Необходимым форматом является текущий формат даты JIRA.

    Примечание. Поскольку формат даты JIRA по умолчанию зависит от локали (например, 12 января / 05), вы можете использовать формат ISO yyyy-mm-dd. Для этого задайте следующие свойства на странице «Расширенные настройки»

     

    ·         jira:jira.date.picker.java.format для оценки yyyy-MM-dd

    ·         jira.date.picker.javascript.format для значения% Y-% m-% e

     

    Тэги Jelly См. Изменение формата ввода даты для получения дополнительной информации об изменении этих значений.

    created

    string

    Текущая дата / время

    Дата / время, когда задача была создана в формате yyyy-MM-dd hh: mm: ss.0

    updated

    string

    Текущая дата / время

    Дата / время, когда задача была обновлена в формате yyyy-MM-dd hh: mm: ss.0

    issueIdVar

    string

     

    Имя переменной для размещения идентификатора новой задачи.

    issueKeyVar

    string

     

    Имя переменной для размещения ключа новой задачи.

    duplicateSummary

    string

     

    Установка этого атрибута в «игнорировать» позволит создать задачу с тем же резюме.

    security-level

    string

     

    Устанавливает уровень безопасности задачи. Значение – это имя уровня, например, «Секретно».

     

    Примеры

    Создать проблему

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateIssue project-key=”ABC” assignee=”-1″ summary=”Issue summary”>
    <!– other jelly tags –>
    </jira:CreateIssue>
    </JiraJelly>

    Создать задачу из проекта

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

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateProject key=”ABC” name=”A Project” lead=”logged-in-user”>
    <jira:CreatePermissionScheme name=”admin-scheme”>
    <jira:AddPermission permissions=”Assignable,Browse,Create,Assign”
    <type=”group”/>
    <jira:SelectProjectScheme/>
    </jira:CreatePermissionScheme>
    <jira:CreateIssue summary=”Issue summary”>
    <!– other jelly tags –>
    </jira:CreateIssue>
    </jira:CreateProject>
    </JiraJelly>

    Создать задачу с  значениями пользовательских полей

    Используйте subtag jira: AddCustomFieldValue

    Имя аттрибута

    Тип

    Описание

    id

    long

    Идентификатор пользовательского поля с customfield_ prefix

    value

     

     

    string

    строковое представление значения пользовательского поля. Обратите внимание, что это может отличаться от отображаемого значения (например, команда выбора проекта использует идентификатор проекта как значение String, но отображает название проекта)

    key

     

     

    string

    Ключ используется для многомерных данных. В настоящее время только Cascading selects поддерживает его использование. Опустите, чтобы указать значение родителя, используйте «1» в качестве значения для дочернего элемента

    name

     

    String

     

     

     

    Устаревшее Имя настраиваемого поля.

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateIssue project-key=”ABC” summary=”Issue summary”>
    <jira:AddCustomFieldValue id=”customfield_10000″ value=”field value”/>
    <jira:AddCustomFieldValue name=”Environment Select list” value=”Windows XP”/>

    <!– For Cascading Selects : Note also that the value for cascading selects is the optionId–>
    <jira:AddCustomFieldValue id=”customfield_10001″ value=”Parent Option Id” />
    <jira:AddCustomFieldValue id=”customfield_10001″ value=”Child Option Id” key=”1″ />

    <!– For Version Pickers and Single Version Pickers : Note also that the value for version pickers is the versionId–>
    <jira:AddCustomFieldValue id=”customfield_10002″ value=”Version Id”/>

    <!– For Multi Selects –>
    <jira:AddCustomFieldValue id=”customfield_10003″ value=”Value 1″ />
    <jira:AddCustomFieldValue id=”customfield_10003″ value=”Value 2″ />

    <!– For Multi User Pickers : Note also that the value for multi user pickers is a comma separated list of users–>
    <jira:AddCustomFieldValue id=”customfield_10004″ value=”User 1,User 2″ />

    </jira:CreateIssue>
    </JiraJelly>

    Тэги Jelly Использование атрибута name устарело. Хотя он будет работать в версии 3.0, его использование не рекомендуется.

    Заметка:

    • Чтобы просмотреть <customFieldId>,
  • Перейдите в раздел Администрирование -> Поля задач -> Пользовательские поля
  • Наведите курсор на ссылку «Настроить» пользовательского поля
  • Вы можете просмотреть <customFieldId> в строке состояния вашего браузера
    • Чтобы просмотреть «Идентификатор родительской опции» и «Идентификатор дочерней опции» для «Каскадный выбор полей»,
  • Перейдите в раздел Администрирование -> Поля задач -> Пользовательские поля -> Настроить -> Изменить опции -> Изменить
  • Вы можете просмотреть <selectedParentOptionId> («Идентификатор родительской опции») и <selectedValue> («Идентификатор дочерней опции») в строке состояния вашего браузера
  • jira: CreatePermissionScheme

    Создает схему разрешений

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    name

    required string

     

    Название схемы разрешения.

    description

     

    string

    string

     

    Описание схемы разрешений.

     

    Контекстные переменные

    Контекстные переменные

     

    Тип

    Описание

    jelly.permission.scheme.id

    string

    Идентификатор созданной схемы разрешения

     

    jira: CreateProject

    Этот тег создает новый проект в JIRA и помещает id проекта в контекст.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    key

     

     

    string

     

    Ключ проекта, используемый для создания ключей задачи (обязательно).

    name

    string

     

    Название проекта (обязательно).

    lead

    string

     

    Имя пользователя, являющегося ведущим проекта (обязательно).

    url

    string

     

    URL-адрес сайта для этого проекта.

    description

    string

     

    Описание этого проекта.

     

    Контекстные переменные

    Контекстные переменные

     

    Тип

    Описание

    jelly.project.id

    string

    Идентификатор проекта, который был создан.

    jelly.project.key

    string

    Ключ проекта, который был создан.

     

    Примеры

    Создать проект

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateProject key=”ABC” name=”A Project” lead=”a-user”>
    <!– other jelly tags –>
    </jira:CreateProject>
    </JiraJelly>

    jira: CreateProjectRole

    Этот тег создаст роль проекта с заданным именем и описанием.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    name

    string

     

    Имя роли проекта, которую вы создадите

    description

    string

     

    Описание роли проекта, которую вы будете создавать

    Контекстные переменные

    Контекстные переменные

     

    Тип

    Описание

    jelly.role.id

    Long

    Идентификатор роли проекта

    jelly.role.name

    string

    Название роли проекта

    jelly.role.description

    string

    Описание роли проекта

     

    Примеры

    Создание новой роли проекта

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateProjectRole name=”lion-tamer” description=”tames the lions”>
    ${jelly.role.id} ${jelly.role.name} ${jelly.role.description}
    </jira:CreateProjectRole>
    </JiraJelly>

    jira: CreateUser

    Создает пользователя в JIRA и помещает свое имя пользователя в контекст.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    username

    string

     

    Имя создаваемого пользователя (обязательно).

    password

    string

     

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

    confirm

    string

     

    Подтверждение пароля пользователя (обязательно).

    fullname

    string

     

    Описательное имя пользователя (обязательно).

    email

    string

     

    Адрес электронной почты пользователя (обязательно).

    sendEmail

    boolean

     

     

    false

    Если указано, указывает, следует ли отправлять подтверждение по электронной почте.

     

     

     

    Контекстные переменные

    Контекстные переменные

     

    Тип

    Описание

    jelly.new.username

    string

    Имя пользователя создаваемого пользователя.

     

    Примеры

    Создать пользователя

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateUser username=”new-user” password=”password” confirm=”password”
    fullname=”Full name” email=”[email protected]”/>
    </JiraJelly>

    jira: DeleteProjectRole

    Этот тег удалит роль проекта с данным идентификатором.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

    int

     

    Идентификатор роли проекта, которую вы хотите удалить.

    confirm

    string

     

    Чтобы удалить роль проекта, для этого значения должно быть установлено значение «true».

     

    Примеры

    Удаление роли проекта от JIRA

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:DeleteProjectRole projectroleid=”1″ confirm=”true” />
    </JiraJelly>

    jira: GetDefaultRoleActors

    Этот тег будет возвращать объект ProjectRoleActors для данной роли проекта для конкретного проекта. Этот объект несет членов роли проекта, то есть пользователей и / или групп. Чтобы получить коллекцию пользователей в этом объекте, используйте выражение $ {roleactors.users}, где roleactors – это имя переменной объекта. Для получения дополнительной информации о объекте RoleActors обратитесь к API JIRA.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

    int

     

    Идентификатор роли проекта, который вы хотите запросить(query)

    var

     

    string

     

    Имя переменной, которой вы хотите, чтобы возвращаемые роли были помещены в

     

    Примеры

    Возврат списка участников роли и повторение пользователей в каждом из этих участников.

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib” xmlns:core=”jelly:core”>
    <jira:GetDefaultRoleActors projectroleid=”1″ var=”roleactors” >
    <core:forEach var=”actor” items=”${roleactors.users}”>
    ${actor.name}
    </core:forEach>
    </jira:GetDefaultRoleActors>
    </JiraJelly>

    jira: GetProjectRole

    Этот тег вернет роль проекта с данным идентификатором.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

    int

     

    Идентификатор роли проекта, который вы хотите

    var

     

     

    string

     

    Имя переменной, которой вы хотите присвоить роль проекта

     

    Примеры

    Возврат роли проекта

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:GetProjectRole projectroleid=”1″ var=”role” >
    ${role.name}
    </jira:GetProjectRole>
    </JiraJelly>

    jira: GetProjectRoleActors

    Этот тег будет возвращать объект ProjectRoleActors для данной роли и проекта. Этот объект является заполнителем для внутренних членов роли проекта, то есть пользователей и / или групп. Чтобы получить коллекцию пользователей в этом объекте, используйте выражение $ {roleactors.users}, где roleactors – это имя переменной объекта. Для получения дополнительной информации о объекте RoleActors обратитесь к API JIRA.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectkey

     

     

    string

     

    Ключ проекта, который вы хотите запросить (query)

    projectroleid

     

     

    int

     

    Идентификатор роли проекта, который вы хотите запросить (query)

    var

     

     

    string

     

    Имя переменной, для которой требуется объект возвращенных “объектов роли”, назначенный для

     

    Примеры

    Вернуть список пользователей для данного объекта «актеры роли»

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib” xmlns:core=”jelly:core”>
    <jira:GetProjectRoleActors projectkey=”MKY” projectroleid=”1″ var=”roleactors” >
    <core:forEach var=”actor” items=”${roleactors.users}”>
    ${actor.name}
    </core:forEach>
    </jira:GetProjectRoleActors>
    </JiraJelly>

    jira: IsProjectRoleNameUnique

    Этот тег вернет «true» или «false», чтобы вы знали, есть ли уже роль проекта с данным именем.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    name

     

     

    string

     

    Название роли проекта

    var

    string

     

    Имя переменной, к которой вы хотите получить возвращенный результат.

     

    Примеры

    Определение уникальности роли проекта.

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:IsProjectRoleNameUnique name=”unique name” var=”isUnique” >
    ${isUnique}
    </jira:IsProjectRoleNameUnique>
    </JiraJelly>

    jira: LinkIssue

    Этот тег создает ссылку из одной задачи в другую.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    key

     

     

    string

     

    Ключ задачи, со ссылкой из (источник ссылки – требуется)

    linkKey

     

     

    string

     

    Ключ задачи, со ссылкой к (назначение ссылки – требуется)

    linkDesc

     

     

    string

     

    linkDesc берется из «Внутреннего описания» или «Внешнего описания» ссылки. (обязательно)

     

    Примеры

    Создать связь между двумя существующими задачами

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:LinkIssue key=”TST-1″ linkKey=”TST-2″ linkDesc=”duplicates”/>
    </JiraJelly>

    Создайте две задачи и соедините их        

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:CreateIssue project-key=”HSP” assignee=”-1″ summary=”Issue summary 1″ reporter=”admin” issueKeyVar=”issuekey1″/>
    <jira:CreateIssue project-key=”NDT” assignee=”-1″ summary=”Issue summary 2″ reporter=”admin” issueKeyVar=”issuekey2″/>
    <jira:LinkIssue key=”${issuekey1}” linkKey=”${issuekey2}” linkDesc=”duplicates”/>
    </JiraJelly>

    jira:Login

    Этот тег регистрирует пользователя в JIRA с использованием имени пользователя и пароля. Используйте этот тег, когда вы запускаете скрипт Jelly таким образом, чтобы вы не вошли в систему (например, если вы используете JellyService вместо использования Jelly Runner) или если вы хотите запустить скрипт Jelly как другой пользователь к тому, с которым вы вошли в систему.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    username

     

    string

     

    Имя пользователя для входа в систему.

    password

    string

     

    Пароль пользователя для входа в систему.

     

    Контекстные переменные

    Контекстные переменные

     

    Тип

    Описание

    jelly.user

     

     

    User

    Пользователь вошел в систему.

    jelly.username

     

     

    string

    Имя пользователя, вошедшего в систему.

     

    Примеры

    Войдите в систему с именем пользователя и паролем и установите в контекст

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:Login username=”misc-user” password=”password”>
    <!– other jelly tags –>
    </jira:Login>
    </JiraJelly>

    jira: RemoveActorsFromDefaultProjectRole

    Этот тег удалит список участников роли (то есть пользователей и / или групп) из членства по умолчанию для данной роли проекта.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

     

     

    int

     

    Идентификатор роли проекта, который вы хотите удалить участников по умолчанию из

    actors

     

     

    string

     

    Список пользователей или групп с разделителями-запятыми, которые вы хотите удалить из роли проекта по умолчанию

    actortype

     

     

    string

     

    Тип «актера», который вы удаляете. В настоящее время доступными параметрами являются «atlassian-group-role-actor» или «atlassian-user-role-actor»

     

    Примеры

    Удаление списка групп из роли проекта по умолчанию

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:RemoveActorsFromDefaultProjectRole projectroleid=”1″
    actors=”jira-administrators, jira-users” actortype=”atlassian-group-role-actor” />
    </JiraJelly>

    jira: RemoveActorsFromProjectRole

    Этот тег удалит список ролевых актеров из заданной роли проекта для данного проекта.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

     

     

    int

     

    Идентификатор роли проекта, членов которых вы хотите удалить из

    actors

     

     

    string

     

    Список пользователей или групп, разделенных запятыми, которые вы хотите удалить из роли проекта

    projectkey

     

     

    string

     

    Ключевым элементом проекта является роль проекта связанная с

    actortype

     

     

    string

     

    Тип «актера», с которым вы работаете. В настоящее время доступными параметрами являются «atlassian-group-role-actor» или «atlassian-user-role-actor»

     

    Примеры

    Удаление списка групп из роли проекта

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:RemoveActorsFromProjectRole projectroleid=”1″
    actors=”jira-administrators, jira-users” projectkey=”MKY”
    actortype=”atlassian-group-role-actor” />
    </JiraJelly>

    jira: RemoveUser

    Удаляет существующего пользователя JIRA своим именем пользователя

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    name

     

     

    string

     

    Имя пользователя для удаления (обязательно).

     

    Примеры

    Удалить пользователя

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:RemoveUser name=”existing-user”/>
    </JiraJelly>

    jira: RunSearchRequest

    Этот тег запускает запрос на поиск JIRA с использованием предопределенного фильтра.

    Примечание: Этот тег возвращает GenericValue для каждой пзадачи, которая соответствует поисковому запросу.

    GenericValue состоит из пар ключ-значение, например:

    [GenericEntity:Issue]
    [created,2007-11-01 15:51:25.0]
    [summary,Testing]
    [component,null]
    [workflowId,12530]
    [timeoriginalestimate,null]
    [fixfor,null]
    [type,2]
    [timespent,null]
    [environment,Windows]
    [resolution,null]
    [status,1]
    [updated,2007-11-01 15:51:25.0]
    [timeestimate,null]
    [id,11540]
    [key,TSTA-5]
    [duedate,null]
    [description,Test]
    [project,10063]
    [reporter,admin]
    [security,null]
    [votes,0]
    [assignee,null]
    [priority,3]

    Чтобы получить значение, например. , вы можете вызвать gv.getString («ключ»). Полную информацию см. в API-интерфейсе OFBiz GenericValue.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    filterid

     

     

    int

     

    Идентификатор фильтра, который будет использоваться для запуска поискового запроса.

    size-var

     

     

    string

     

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

    var

     

     

    string

     

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

     

    Примеры

    Выполнение запроса на поиск и повторение с помощью ключей возвращаемых задач

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib” xmlns:core=”jelly:core”>
    <jira:RunSearchRequest filterid=”10524″ var=”issues” size-var=”issuecount”/>
    <core:forEach var=”issue” items=”${issues}”>
    ${issue.key}
    </core:forEach>
    </JiraJelly>

    jira: SelectComponentAssignees

    Выбирает представителей по умолчанию для вновь созданных задач компонента.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    project-key

     

     

    string

     

    Ключ проекта, который вы хотите добавить к компоненту (обязательно).

    componentName

     

     

    string

     

    Название компонента (обязательно).

    assigneeType

     

     

    string

     

    Тип представителя по умолчанию (обязательно).

    Типы представителей:

    ·         projectDefault

    ·         componentLead

    ·         projectLead

    ·         unassigned

     

    Примеры

    Выберите представителя компоненты

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib”>
    <jira:SelectComponentAssignees project-key=”ABC” componentName=”Comp 1″ assigneeType=”componentLead”/>
    </JiraJelly>

    jira: TransitionWorkflow

    Тэги Jelly Обратите внимание: этот тег недоступен в 3.3 и 3.3.1 – подробности см. в JRA-7690.

    Этот тег выполняет переход рабочего процесса по задаче.

    Имейте в виду, что если вы указываете пары атрибутов / значений полей в теге Jelly, эти поля ДОЛЖНЫ находиться на экране перехода с соответствующим рабочим процессом. Если поле отсутствует на экране, значение не будет задано по задаче. Например, если вы хотите установить атрибут разрешения в своем Jelly XML, ваш переход должен иметь связанный с ним экран, который включает в себя поле разрешения на этом экране.

     

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    user

     

     

    string

    В настоящее время вошедший пользователь

    Имя пользователя для выполнения перехода рабочего процесса. Пользователь должен иметь соответствующие разрешения для выполнения перехода. Обратите внимание, что требуемые разрешения также зависят от полей, которые обновляются во время перехода. (См. Другие атрибуты ниже).

    key

     

     

    string

     

    Ключ задачи для выполнения перехода.

    workflowAction

     

     

    string

     

    Идентификатор или имя перехода рабочего процесса для выполнения. Если аргумент может быть преобразован в число, он считается идентификатором перехода. В противном случае предполагается, что это имя.

    resolution

     

     

    string

     

    Идентификатор или имя разрешения, которое будет задано по задаче  в ходе перехода. Обратите внимание, что переход должен ожидать, что разрешение будет обновлено, иначе возникнет ошибка, если этот атрибут будет предоставлен. Если аргумент может быть преобразован в число, он считается идентификатором разрешения. В противном случае предполагается, что это имя.

    assignee

     

     

    string

     

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

    Используйте значение «-automatic-», чтобы JIRA назначил проблему назначаемому по умолчанию представителю.

    fixVersions

     

     

    string

     

    Список разделенных запятыми идентификаторов версий или имен для установки в качестве «исправления для» версий во время перехода. «Пользователь», выполняющий переход, должен иметь разрешения на установку «исправлять» версии, если этот атрибут предоставлен. Обратите внимание, что переход должен ожидать обновления версий «fix for», иначе возникает ошибка, если этот атрибут предоставлен. Если значение в указанном списке с запятыми может быть преобразовано в число, оно считается идентификатором версии. В противном случае предполагается, что это имя.

    comment

     

     

    string

     

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

    groupLevel

     

     

    string

     

    Уровень комментария. Уровень должен быть именем группы, членом которой является пользователь. ПРИМЕЧАНИЕ. Если это указано, вы не можете указать параметр roleLevel.

    roleLevel

     

     

    string

     

    Имя или идентификатор роли проекта, которые могут видеть этот комментарий. ПРИМЕЧАНИЕ. Если это указано, вы не можете указать параметр groupLevel.

     

    Примеры

    Выполнение перехода рабочего процесса

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:TransitionWorkflow key=”TST-6″ user=”testuser” workflowAction=”Resolve issue”
    resolution=”fixed” fixVersions=”version 1,version 3″ assignee=”-automatic-”
    comment=”Test comment” groupLevel=”jira-developers” />
    </JiraJelly>

    jira: UpdateProjectRole

    Этот тег обновит имя и описание для данного идентификатора роли проекта.

    Атрибуты

    Имя атрибута

    Тип

    Значение по умолчанию

    Описание

    projectroleid

     

     

    int

     

    Идентификатор роли проекта, который вы хотите запросить

    name

     

     

    string

     

    Имя, которое вы хотите, чтобы роль проекта обновлялась с помощью

    description

     

     

    string

     

    Описание, в котором вы хотите, чтобы роль проекта обновлялась с помощью

     

    Примеры

    Обновление роли проекта

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>
    <jira:UpdateProjectRole projectroleid=”123″ name=”unique name”
    description=”my project role is nice” />
    </JiraJelly>

     

    Бета-теги

    Существует также несколько тегов BETA, которые не были полностью протестированы или задокументированы. Следующий список содержит теги и атрибуты, которые могут быть переданы им:

     

    • AddIssueSecurity

      • schemId (обязательно)
      • security (обязательно)
      • type (обязательно)
    • AddIssueSecurityLevel

      • name (обязательно)
      • description (обязательно)
      • Output

        • issue.scheme.level.id
      • CreateIssueSecurityScheme

        • name (обязательно)
        • description (обязательно)
        • Output

          • issue.scheme.id
        • LoadManager

          • var (переменная для ввода менеджера)
          • manager (имя менеджера, например IssueManager)
        • LoadProject

          • var (переменная для ввода проекта)
          • project-name (название проекта)
        • RemoveGroup

          • name (обязательно)
        • RemovePermissionScheme

          • schemId (обязательно)
          • confirm (обязательно)
        • RemoveProject
        • pId (обязательно)
        • SelectProjectScheme

          • projectKey (обязательно)
          • permission-scheme (название схемы разрешения) или
          • issue-scheme (название схемы безопасности задачи)
        • StringContains

          • value (Строка для просмотра)
          • possiblyContains (String, чтобы искать)
          • doContain (true или false), если значение содержит possiblyContains == doesContain, внутренняя часть тега выполняется.

    Если вам нужна дополнительная информация о том, как использовать бета-теги, прочитайте источник и / или отправьте сообщение в Atlassian Answers для JIRA.

     

    Примеры скриптов

    Создание нового проекта

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

    Этот скрипт может использоваться для общедоступного проекта:

    <?xml version=”1.0″?>
    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib” xmlns:j=”jelly:core”>

    <j:set var=”name” value=”Test Project”/>
    <j:set var=”key” value=”TEST”/>
    <j:set var=”lowerkey” value=”test”/>
    <j:set var=”lead_username” value=”joe”/>
    <j:set var=”lead_password” value=”joe”/>
    <j:set var=”lead_fullname” value=”Joe Bloggs”/>
    <j:set var=”lead_email” value=”[email protected]”/>
    <j:set var=”url” value=”http://example.com/TestProj”/>

    <jira:CreateUser username=”${lead_username}” password=”${lead_password}” confirm=”${lead_password}”
    fullname=”${lead_fullname}” email=”${lead_email}”/>
    <jira:CreateGroup group-name=”${lowerkey}-developers”>
    <jira:AddUserToGroup username=”${lead}”/>
    </jira:CreateGroup>

    <jira:CreateProject key=”${key}” name=”${name}” url=”${url}” lead=”${lead_username}”>
    <jira:CreatePermissionScheme name=”${name} permissions”>
    <jira:AddPermission type=”reporter” permissions=”Close”/>
    <jira:AddPermission group=”jira-administrators” permissions=”Close,Delete” type=”group”/>
    <jira:AddPermission group=”jira-users” permissions=”Create,Edit,Comment,Link,Attach” type=”group”/>
    <jira:AddPermission group=”${lowerkey}-developers”
    permissions=”Project,ScheduleIssue,Move,Assign,Assignable,Resolve,Close,Work” type=”group”/>
    <jira:AddPermission group=”Anyone” permissions=”Browse,ViewVersionControl”/>
    <jira:SelectProjectScheme/>
    </jira:CreatePermissionScheme>
    </jira:CreateProject>
    </JiraJelly>

    Этот сценарий более сложный, с несколькими группами для каждого проекта:

    <?xml version=”1.0″?>
    <!– This script handles some of the administrative chores required when adding
    a new project to JIRA. It creates the project, groups, permission scheme, and gives
    groups the relevant permissions in the permission scheme. –>
    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib” xmlns:j=”jelly:core”>

    <!– Name of the project to create –>
    <j:set var=”name” value=”Jelly Test Project”/>
    <!– Key for the new project –>
    <j:set var=”key” value=”TEST”/>
    <!– Existing user who will become the project lead (default assignee) –>
    <j:set var=”admin” value=”admin”/>

    <jira:CreateGroup group-name=”${key}-users”/>
    <jira:CreateGroup group-name=”${key}-developers”/>
    <jira:CreateGroup group-name=”${key}-managers”/>
    <jira:CreateGroup group-name=”${key}-bizusers”/>
    <jira:CreateGroup group-name=”${key}-qa”/>

    <jira:CreateProject key=”${key}” name=”${name}” lead=”${admin}”>
    <jira:CreatePermissionScheme name=”${key} Permission Scheme”>
    <jira:AddPermission type=”reporter” permissions=”Edit”/>
    <jira:AddPermission type=”assignee” permissions=”Resolve”/>
    <jira:AddPermission group=”jira-administrators” permissions=”Project,Delete” type=”group”/>
    <jira:AddPermission group=”${key}-users” permissions=”Browse,Create,Comment,Attach” type=”group”/>
    <jira:AddPermission group=”${key}-developers” permissions=”Move,Assignable,Link,ViewVersionControl”
    type=”group”/>
    <jira:AddPermission group=”${key}-managers” permissions=”Edit,Assign,Assignable,Resolve,Close,Delete”
    type=”group”/>
    <jira:AddPermission group=”${key}-bizusers” permissions=”Assignable” type=”group”/>
    <jira:AddPermission group=”${key}-qa” permissions=”Assignable” type=”group”/>
    <jira:AddPermission group=”opsmgrs” permissions=”Browse,Edit,Assignable,Comment” type=”group”/>
    <jira:AddPermission group=”dba-user-group” permissions=”Browse,Assign,Assignable,Comment” type=”group”/>
    <jira:AddPermission group=”help-desk-group” permissions=”Browse,Assign,Assignable,Comment” type=”group”/>
    <jira:AddPermission group=”webadmin-group” permissions=”Browse,Assign,Assignable,Comment” type=”group”/>
    <jira:AddPermission group=”unix-admin-group” permissions=”Browse,Assign,Assignable,Comment” type=”group”/>
    <jira:SelectProjectScheme/>
    </jira:CreatePermissionScheme>
    </jira:CreateProject>
    </JiraJelly>

    Для списка проектов выполните конкретную операцию.

    Этот скрипт выполняет итерацию через (разделенный запятыми) список проектов, создает группу, специфичную для проекта, и добавляет пользователя в эту группу.

    <?xml version=”1.0″?>
    <!– Jelly script to create ‘support’ group per project –>
    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib” xmlns:util=”jelly:util” xmlns:j=”jelly:core”>
    <util:tokenize var=”projects” delim=”,”>ARM,QWI,DWI,DBOR,DBSQ,LYX,MMM,MOI,TPAI,SEP,AMR,SLA,TP,TRBC,YRD</util:tokenize>
    <j:forEach var=”proj” items=”${projects}”>
    <jira:CreateGroup group-name=”${proj}-support”/>
    <jira:AddUserToGroup username=”jeff” group-name=”${proj}-support”/>
    </j:forEach>
    </JiraJelly>

    Создавать пользователя, задачу и назначать задачу пользователю

    Следующий сценарий создает пользователя (называемый новым пользователем), создает новую задачу, добавляет пользователя в группу разработчиков jira и назначает задачу пользователю. Он иллюстрирует использование контекстных переменных.

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>

    <jira:CreateUser username=”new-user” password=”password” confirm=”password”
    fullname=”Full name” email=”[email protected]”/>
    Username is ${jelly.new.username}
    <jira:CreateIssue project-key=”TP” summary=”New issue summary” issueKeyVar=”ik”/>
    <jira:AddUserToGroup username=”new-user” group-name=”jira-developers”/>
    <jira:AssignIssue key=”${ik}” assignee=”${jelly.new.username}”/>

    </JiraJelly>

    Назначение и запуск

    Здесь мы создаем задачу, назначаем ее «bob» (кто должен быть в jira-developers) и начинаем работу:

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.JiraTagLib”>

    <jira:CreateIssue project-key=”TP” summary=”New issue” issueKeyVar=”ik”/>
    <jira:AssignIssue key=”${ik}” assignee=”bob”/>
    <jira:TransitionWorkflow key=”${ik}” user=”bob” workflowAction=”Start Progress” />
    </JiraJelly>

    Перемещение нерегламентированных задач в состояние «Неактивное»

    Когда JIRA используется для взаимодействия с клиентами, этот сценарий полезен для поиска задач, которые ожидают ответа клиента, и на какое-то время не ответили. Он переводит такие проблемы в состояние «Неактивное».Вы обычно вызываете этот скрипт периодически с помощью Jelly Service.

    <JiraJelly xmlns:jira=”jelly:com.atlassian.jira.jelly.enterprise.JiraTagLib” xmlns:core=”jelly:core” xmlns:log=”jelly:log” >
    <jira:Login username=”customersupport” password=”XXXXXX”>
    <log:warn>Running Inactivate issues service</log:warn>
    <core:set var=”comment”>This issue has not been updated for 5 business days.

    If you have an update, please use “Add Comments For Vendor” action to let us know.
    If you need more time to gather information please let us know and we will ‘freeze’ this issue.
    If you have no other questions, please Close this issue.

    If no update is received in the next 5 business days, this issue will be automatically closed.

    Thank you,

    The Support Team</core:set>
    <core:set var=”workflowStep” value=”Mark Inactive” />
    <core:set var=”workflowUser” value=”customersupport” />

    <!– Run the SearchRequestFilter –>
    <jira:RunSearchRequest filterid=”11505″ var=”issues” />

    <core:forEach var=”issue” items=”${issues}”>
    <log:warn>Inactivating issue ${issue.key}</log:warn>
    <jira:TransitionWorkflow key=”${issue.key}” user=”${workflowUser}” workflowAction=”${workflowStep}” comment=”${comment}”/>
    </core:forEach>
    </jira:Login>
    </JiraJelly>

    Где

    • workflowStep – это название перехода рабочего процесса, например «Закрыть задачу», «Начало прогресса», так же, как они отображаются в левом меню на экране задач.
    • workflowUser – это пользователь для запуска перехода как
    • filterid – это идентификатор сохраненного поиска (фильтра), который обнаруживает, что задачи должны быть инактивированы (перешли). Этот идентификатор можно найти по URL-адресу фильтра на вкладке «Управление» в разделе «Найти задачи».

    Инструмент JIRA инструментарий (Toolkit) полезен в сочетании с этим скриптом, чтобы найти задачи, ожидающие ответа клиента.

     

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *