Download jetbrains youtrack workflow editor
Author: e | 2025-04-24
Name: JetBrains Youtrack Workflow Editor. Create and edit workflows for YouTrack.
JetBrains YouTrack Workflow Editor Activation Download
Issues and notifies the team if any such issues are left.Setting the state of issue to ‘Answered’ or ‘Unanswered’ according to the latest comment: if a comment is from an external user, the issue becomes ‘Unanswered’; if the comment’s author is a team member, the issue becomes ‘Answered’.Setting assignee on team’s comment. A team member who is the author of the latest comment containing the answer automatically becomes the issue’s assignee. This way we know who ‘owns’ the conversation at the moment.Resolving issues automatically if the issue is marked as ‘Spam’. Of course quite a bit of this ‘feedback’ is actually spam, but we deal with it just like this: when an issue’s type is changed to ‘Spam’, its state automatically becomes ‘Answered’.Please refer to How To guide for the detailed steps of setting up Mailbox integration and creating Workflow rules. You can also download the described workflow and attach it to your project as is. Keep in mind that you can always customize the process according to your specific needs.Download YouTrack 3.0.4 along with YouTrack Workflow Editor 3.0.4 if you haven’t yet.Manage your feedback with pleasure and make your users happy!JetBrains YouTrack Team Subscribe to YouTrack Blog updates Discover more Name: JetBrains Youtrack Workflow Editor. Create and edit workflows for YouTrack. State, this means that the parent issue has reached this state as well. The most basic example is to close the parent issue as fixed when all subtasks are fixed. This rule is one of the modules in the default Subtasks workflow: const entities = require('@jetbrains/youtrack-scripting-api/entities'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); exports.rule = entities.Issue.onChange({ title: 'Fix parent when all subtasks are resolved', guard: (ctx) => { return ctx.issue.isReported && ctx.issue.becomesResolved; }, action: (ctx) => { const processParent = function (issue) { if (issue.links['subtask of'].isEmpty()) { return; } const parent = issue.links['subtask of'].first(); if (parent && parent.project && !parent.project.isArchived && parent.isReported && !parent.isResolved) { const unresolvedSubtask = parent.links['parent for'].find(function (subtask) { return subtask.isReported && !subtask.fields.State.isResolved; }); if (!unresolvedSubtask) { const field = parent.project.findFieldByName(ctx.State.name); if (field) { const value = field.findValueByName(ctx.State.Fixed.name); if (value) { parent.State = value; workflow.message(workflow.i18n('Automatically set {0} as Done', parent.id)); return parent; } } } } }; let issue = ctx.issue; while (issue) { issue = processParent(issue); } }, requirements: { State: { type: entities.State.fieldType, Fixed: {} } } });Depending on your process, this ‘reaching-the-target-state’ condition can be very different. For example, you can have a field Documentation provided with the values No (default) and Yes. When each subtask is assigned Yes to this field, this means that the entire parent issue is documented.Last modified: 12 June 2024Comments
Issues and notifies the team if any such issues are left.Setting the state of issue to ‘Answered’ or ‘Unanswered’ according to the latest comment: if a comment is from an external user, the issue becomes ‘Unanswered’; if the comment’s author is a team member, the issue becomes ‘Answered’.Setting assignee on team’s comment. A team member who is the author of the latest comment containing the answer automatically becomes the issue’s assignee. This way we know who ‘owns’ the conversation at the moment.Resolving issues automatically if the issue is marked as ‘Spam’. Of course quite a bit of this ‘feedback’ is actually spam, but we deal with it just like this: when an issue’s type is changed to ‘Spam’, its state automatically becomes ‘Answered’.Please refer to How To guide for the detailed steps of setting up Mailbox integration and creating Workflow rules. You can also download the described workflow and attach it to your project as is. Keep in mind that you can always customize the process according to your specific needs.Download YouTrack 3.0.4 along with YouTrack Workflow Editor 3.0.4 if you haven’t yet.Manage your feedback with pleasure and make your users happy!JetBrains YouTrack Team Subscribe to YouTrack Blog updates Discover more
2025-04-16State, this means that the parent issue has reached this state as well. The most basic example is to close the parent issue as fixed when all subtasks are fixed. This rule is one of the modules in the default Subtasks workflow: const entities = require('@jetbrains/youtrack-scripting-api/entities'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); exports.rule = entities.Issue.onChange({ title: 'Fix parent when all subtasks are resolved', guard: (ctx) => { return ctx.issue.isReported && ctx.issue.becomesResolved; }, action: (ctx) => { const processParent = function (issue) { if (issue.links['subtask of'].isEmpty()) { return; } const parent = issue.links['subtask of'].first(); if (parent && parent.project && !parent.project.isArchived && parent.isReported && !parent.isResolved) { const unresolvedSubtask = parent.links['parent for'].find(function (subtask) { return subtask.isReported && !subtask.fields.State.isResolved; }); if (!unresolvedSubtask) { const field = parent.project.findFieldByName(ctx.State.name); if (field) { const value = field.findValueByName(ctx.State.Fixed.name); if (value) { parent.State = value; workflow.message(workflow.i18n('Automatically set {0} as Done', parent.id)); return parent; } } } } }; let issue = ctx.issue; while (issue) { issue = processParent(issue); } }, requirements: { State: { type: entities.State.fieldType, Fixed: {} } } });Depending on your process, this ‘reaching-the-target-state’ condition can be very different. For example, you can have a field Documentation provided with the values No (default) and Yes. When each subtask is assigned Yes to this field, this means that the entire parent issue is documented.Last modified: 12 June 2024
2025-04-24A common requirement for issue tracking is to update the values in an issue based on changes that are applied to a related issue. In YouTrack, this use case is supported with workflows.The next two cases demonstrate how to update issues in response to changes in other issues. These issues are linked with a parent-subtask relationship. However, you can apply this approach to issues with other link types, depending on your process.Update Subtasks When Changes are Applied to the Parent IssueThe first direction is to apply updates with a top-down approach: when updates are applied to a parent issue, the subtasks are updated accordingly. We call this behavior inheritance and have several default workflows in YouTrack that implement this behavior for various fields, like Subtask Inherit Assignee, Subtask Inherit Fix Versions, and Subtask Inherit Subsystem. Let’s take a look at the corresponding rule for the Subsystem field: const entities = require('@jetbrains/youtrack-scripting-api/entities'); const workflow = require('@jetbrains/youtrack-scripting-api/workflow'); exports.rule = entities.Issue.onChange({ title: 'Copy subsystem from parent task when issue is linked as a subtask', guard: (ctx) => { return ctx.issue.links['parent for'].added.isNotEmpty() && ctx.issue.fields.Subsystem; }, action: (ctx) => { const issue = ctx.issue; const safeSetSubsystem = function (subtask) { if (subtask.project && !subtask.project.isArchived) { if (subtask.project.key === issue.project.key || subtask.project.findFieldByName(ctx.Subsystem.name)) { if (!subtask.fields.Subsystem) { const value = subtask.project.findFieldByName(ctx.Subsystem.name) .findValueByName(issue.fields.Subsystem.name); if (value) { subtask.fields.Subsystem = value; } } } } }; issue.links['parent for'].added.forEach(safeSetSubsystem); }, requirements: { Subsystem: { type: entities.EnumField.fieldType }, SubtaskOf: { type: entities.IssueLinkPrototype, name: 'Subtask', outward: 'parent for', inward: 'subtask of' } } });You may notice that this rule is pretty verbose. This verbosity guarantees that the rule won't fail with an error when one of the subtasks belongs to a project that doesn't use a Subsystem field. We recommend that you follow this approach every time, as the rule can potentially refer to issues in projects other than the project to which this rule is attached.Update Parent Issues When Changes are Applied to SubtasksThe second direction is from the bottom up. This approach is used when subtasks represent the steps for completing a larger task. When all the subtasks reach a specific
2025-03-27YouTrack Support | JetBrains Community Workflow: Questions & Answers Official comment Hi!I'm Sergey from the YouTrack team.Thank you for contacting us. I'm happy to help you.Custom work item attributes are not supported in workflows currently. We have a related feature request in our public tracker: Please feel free to vote for this issue. This helps us gauge how much impact this feature will have on our customer base, and you’ll also get subscribed to the issue’s notifications. To do so, sign in to JetBrains YouTrack and hit a thumbs-up icon. Yes, it would be great since that prevent us from using this feature at all Hi Sergey Merzlov is it still true that i we have a work item attribute as example for Approval of each work Item , we can not access the attributes from the workflow.One usage is that only project leader can approve or reject workItems so we will need to validate who updated the workItem.also we could have compliance metric for approved and rejected workItem.Is this still not accessible or is this fixed cause we are 10 months after this post. Hello,IssueWorkItem properties like duration and type are writable. Where can I find usage examples? Thanks. Hello,The documentation lists all public entities in the workflow API and provides supported properties and methods, where you can see where you can utilize issueWorkItem. One of them is the Issue entity, and for example, you can do something like that:ctx.issue.workItems.forEach(item => item.duration = 60); // set each item's duration to 1hctx.issue.workItems.forEach(item => item.type = null); // clear each item's type But if i understand well not the custom ones if you set a custom one that does not currently exist out of the box we will have to wait the update to come to cover this. Please sign in
2025-04-23YouTrack workflows YouTrack Adds Telegram Integration The latest YouTrack update brings out-of-the-box Telegram integration. Elena Pishkova YouTrack Now With Interactive Gantt Charts Version 2022.1 introduces one of the most exciting developments in YouTrack history – interactive Gantt charts! Elena Pishkova YouTrack Now With Workflow Constructor YouTrack 2021.4 makes automation easy with the new Workflow Constructor, a drag-and-drop visual editor that lets you create workflows without writing a single line of code. Other updates include user access management improvements, new Mailbox Integration features, a new domain for YouTrack InCloud … Elena Pishkova Discovering YouTrack: Workflows All jobs have some kind of routine to them, especially when you work in a team: close a user story when all its subtasks are resolved; remind your teammates about upcoming deadlines; create a release task and a bunch of subtasks and assign them to the responsible individuals. Do these steps sound fa… Anastasia Bartasheva YouTrack Workflows From 2018 and Earlier Are Now Discontinued YouTrack 2020.5 is now available! This is a specific update devoted to the discontinuation of legacy workflows and enhancing the overall workflows experience. If your team relies on YouTrack workflows written in 2018 or earlier, please show this post to your system administrators and project adminis… Anastasia Bartasheva Make It Workflow — Part 13: Supporting Test Management Scenarios Welcome back to our Make It Workflow series! We have received several requests from the community to discuss YouTrack features that can be utilized by the QA team. Today we would like to take a look at how to maintain test management scenarios (TMS) in YouTrack. This article will demonstrate how You… Leonid Zalog Discontinuing the Old Workflow Editor Starting from YouTrack 2018.3 If you are working with YouTrack workflows in a separate workflow editor that supports a domain-specific language instead of JavaScript, we
2025-04-11Used before or when the proxy has been reconfigured to listen on a different host or port. In such cases, the old base URL is likely to be outdated.Changing the Base URLUse the following instructions to update the base URL for YouTrack. If your base URL includes the listen port, make sure to update both properties at the same time.To change the Base URL of your YouTrack installation:Use the following command to stop the YouTrack service: docker exec stop Run the configure command: docker run -it --rm \ -v :/opt/youtrack/conf jetbrains/youtrack: \ configure --base-url If you want to update the base URL and listen port simultaneously, add the new listen port to the configure command as well. For example: configure --base-url --listen-port Restart the YouTrack service:docker start Changing the Listen PortUse the following instructions to update the listen port for YouTrack. For this to be successful, the listen port must be accessible to end users or to the reverse proxy server, if one is in use. This may require explicitly opening access to this port through the firewall.To change the Listen Port of your YouTrack installation:Use the following command to stop the YouTrack service: docker exec stop Run the configure command: docker run -it --rm \ -v :/opt/youtrack/conf jetbrains/youtrack: \ configure --listen-port If you want to update the base URL and listen port simultaneously, add the new listen port to the configure command as well. For example: configure --base-url --listen-port Restart the YouTrack service:docker start Last modified: 07 February 2025
2025-04-24