add homework 9.1, complete it

This commit is contained in:
2022-08-18 10:37:40 +07:00
parent 6dc0b0ec9f
commit 5c973fe83b
9 changed files with 666 additions and 0 deletions

View File

@@ -42,3 +42,4 @@
* [8.4. Работа с Roles](/src/homework/08-ansible/8.4) * [8.4. Работа с Roles](/src/homework/08-ansible/8.4)
* [8.5. Тестирование Roles](/src/homework/08-ansible/8.5) * [8.5. Тестирование Roles](/src/homework/08-ansible/8.5)
* [8.6. Создание собственных modules](/src/homework/08-ansible/8.6) * [8.6. Создание собственных modules](/src/homework/08-ansible/8.6)
* [9.1. Жизненный цикл ПО](/src/homework/09-ci/9.1)

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

View File

@@ -0,0 +1,59 @@
Выполнение [домашнего задания](https://github.com/netology-code/mnt-homeworks/blob/MNT-13/09-ci-01-intro/README.md)
по теме "9.1. Жизненный цикл ПО".
## Q/A
### Задание 1
> Подготовка к выполнению
> 1. Получить бесплатную JIRA
> 2. Настроить её для своей "команды разработки"
> 3. Создать доски kanban и scrum
По умолчанию проект создаётся с kanban-доской.
![jira-kanban](./img/jira-kanban.png)
Поэтому достаточно создать дополнительную доску для scrum.
![jira-all-boards](./img/jira-all-boards.png)
### Задание 2
> Основная часть
>
> В рамках основной части необходимо создать собственные workflow для двух типов задач: bug и остальные типы задач.
> Задачи типа bug должны проходить следующий жизненный цикл:
> 1. Open -> On reproduce
> 2. On reproduce -> Open, Done reproduce
> 3. Done reproduce -> On fix
> 4. On fix -> On reproduce, Done fix
> 5. Done fix -> On test
> 6. On test -> On fix, Done
> 7. Done -> Closed, Open
>
> Остальные задачи должны проходить по упрощённому workflow:
> 1. Open -> On develop
> 2. On develop -> Open, Done develop
> 3. Done develop -> On test
> 4. On test -> On develop, Done
> 5. Done -> Closed, Open
>
> Создать задачу с типом bug, попытаться провести его по всему workflow до Done.
> Создать задачу с типом epic, к ней привязать несколько задач с типом task, провести их по всему workflow до Done.
> При проведении обеих задач по статусам использовать kanban. Вернуть задачи в статус Open.
> Перейти в scrum, запланировать новый спринт, состоящий из задач эпика и одного бага, стартовать спринт, провести задачи до состояния Closed. Закрыть спринт.
>
> Если всё отработало в рамках ожидания - выгрузить схемы workflow для импорта в XML. Файлы с workflow приложить к решению задания.
Workflow для задач типа bug описан в [bug.xml](./workflows/bug.xml).
![jira-bug-workflow](./img/jira-bug-workflow.png)
Для всех остальных типов workflow описан в [common.xml](./workflows/common.xml).
![jira-task-workflow](./img/jira-task-workflow.png)
Информация о закрытом спринте:
![jira-closed-sprint](./img/jira-closed-sprint.png)

View File

@@ -0,0 +1,360 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.8//EN" "http://www.opensymphony.com/osworkflow/workflow_2_8.dtd">
<workflow>
<meta name="jira.description"></meta>
<meta name="jira.update.author.id">62fda3e5eec8d4a478d4add4</meta>
<meta name="jira.update.author.key">62fda3e5eec8d4a478d4add4</meta>
<meta name="jira.updated.date">1660791313915</meta>
<initial-actions>
<action id="1" name="Create">
<validators>
<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg>
<arg name="permission">Create Issue</arg>
</validator>
</validators>
<results>
<unconditional-result old-status="null" status="open" step="1">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueCreateFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">1</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</initial-actions>
<steps>
<step id="1" name="Open">
<meta name="jira.status.id">1</meta>
<actions>
<action id="11" name="open-&gt;on-reproduce">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="2">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="2" name="On reproduce">
<meta name="jira.status.id">10003</meta>
<actions>
<action id="21" name="on-reproduce-&gt;done-reproduce">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="3">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
<action id="31" name="on-reproduce-&gt;open">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="1">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="3" name="Done reproduce">
<meta name="jira.status.id">10004</meta>
<actions>
<action id="41" name="done-reproduce-&gt;on-fix">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="4">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="4" name="On fix">
<meta name="jira.status.id">10005</meta>
<actions>
<action id="51" name="on-fix-&gt;on-reproduce">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="2">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
<action id="61" name="on-fix-&gt;done-fix">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="5">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="5" name="Done fix">
<meta name="jira.status.id">10006</meta>
<actions>
<action id="71" name="done-fix-&gt;on-test">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="6">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="6" name="On test">
<meta name="jira.status.id">10007</meta>
<actions>
<action id="81" name="on-test-&gt;on-fix">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="4">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
<action id="91" name="on-test-&gt;done">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="7">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="7" name="Done">
<meta name="jira.status.id">10002</meta>
<actions>
<action id="101" name="done-&gt;open">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="1">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
<action id="111" name="done-&gt;closed">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="8">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="8" name="Closed">
<meta name="jira.status.id">6</meta>
</step>
</steps>
</workflow>

View File

@@ -0,0 +1,246 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE workflow PUBLIC "-//OpenSymphony Group//DTD OSWorkflow 2.8//EN" "http://www.opensymphony.com/osworkflow/workflow_2_8.dtd">
<workflow>
<meta name="jira.description"></meta>
<meta name="jira.update.author.id">62fda3e5eec8d4a478d4add4</meta>
<meta name="jira.update.author.key">62fda3e5eec8d4a478d4add4</meta>
<meta name="jira.updated.date">1660791806013</meta>
<initial-actions>
<action id="1" name="Create">
<validators>
<validator name="" type="class">
<arg name="class.name">com.atlassian.jira.workflow.validator.PermissionValidator</arg>
<arg name="permission">Create Issue</arg>
</validator>
</validators>
<results>
<unconditional-result old-status="null" status="open" step="1">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueCreateFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">1</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</initial-actions>
<steps>
<step id="1" name="Open">
<meta name="jira.status.id">1</meta>
<actions>
<action id="11" name="open-&gt;on-develop">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="2">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="2" name="On develop">
<meta name="jira.status.id">10008</meta>
<actions>
<action id="21" name="on-develop-&gt;open">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="1">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
<action id="31" name="on-develop-&gt;done-develop">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="3">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="3" name="Done develop">
<meta name="jira.status.id">10009</meta>
<actions>
<action id="41" name="done-develop-&gt;on-test">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="4">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="4" name="On test">
<meta name="jira.status.id">10007</meta>
<actions>
<action id="51" name="on-test-&gt;on-develop">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="2">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
<action id="61" name="on-test-&gt;done">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="5">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="5" name="Done">
<meta name="jira.status.id">10002</meta>
<actions>
<action id="71" name="done-&gt;closed">
<meta name="jira.description"></meta>
<meta name="jira.fieldscreen.id"></meta>
<results>
<unconditional-result old-status="null" status="null" step="6">
<post-functions>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.UpdateIssueStatusFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.misc.CreateCommentFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.GenerateChangeHistoryFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.issue.IssueReindexFunction</arg>
</function>
<function type="class">
<arg name="class.name">com.atlassian.jira.workflow.function.event.FireIssueEventFunction</arg>
<arg name="eventTypeId">13</arg>
</function>
</post-functions>
</unconditional-result>
</results>
</action>
</actions>
</step>
<step id="6" name="Closed">
<meta name="jira.status.id">6</meta>
</step>
</steps>
</workflow>