Тэги Jelly

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 один раз:

  1. Войдите в систему как пользователь с глобальным разрешением «Системные администраторы JIRA».
  2. Выберите шестеренка> Система. Выберите Расширенно> Jelly Runner, чтобы открыть страницу Jelly Runner.

Комбинация клавиш: 'g' + 'g' + наберите 'jel'

  1. Вставьте скрипт Jelly в текстовую область.

Периодически запускайте скрипт Jelly:

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

com.atlassian.jira.jelly.service.JellyService

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

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

  1. Отредактируйте atlassian-jira / secure / admin / views / jelly_runner.jsp
  2. Добавьте отключенный атрибут в текстовое поле, например.<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}

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

Обратите внимание: из-за этой интерполяции переменной, если ваш текст содержит что-либо вида $ {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="test@test.com">
<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="test@test.com"/>
<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

 

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

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>

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

Заметка:

  • Чтобы просмотреть <customFieldId>,
  1. Перейдите в раздел Администрирование -> Поля задач -> Пользовательские поля
  2. Наведите курсор на ссылку «Настроить» пользовательского поля
  3. Вы можете просмотреть <customFieldId> в строке состояния вашего браузера
  • Чтобы просмотреть «Идентификатор родительской опции» и «Идентификатор дочерней опции» для «Каскадный выбор полей»,
  1. Перейдите в раздел Администрирование -> Поля задач -> Пользовательские поля -> Настроить -> Изменить опции -> Изменить
  2. Вы можете просмотреть <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="test@test.com"/>
</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

Обратите внимание: этот тег недоступен в 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="joe@example.com"/>
<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="test@test.com"/>
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) полезен в сочетании с этим скриптом, чтобы найти задачи, ожидающие ответа клиента.

 

По материалам Atlassian JIRA Administrator's Guide: Jelly Tags