Yandex Tracker: 10 Advanced Automation & Task Management Techniques
In the dynamic landscape of IT projects and ever-increasing demands for efficiency, standard task management system features often fall short. This article offers an expert overview of ten practical, albeit sometimes unconventional, solutions – often referred to as 'workarounds' or 'hacks' – designed to significantly extend the capabilities of Yandex Tracker. This material is aimed at experienced developers, team leads, and system administrators who seek deep customization of their workflows to enhance control, automation, and metric accuracy. We'll explore how a creative approach to Tracker's functionality can solve both common and non-trivial challenges, optimizing processes from task creation to analytics.
Automation and Control at Task Inception
An efficient workflow begins with correctly created tasks. Often, there's a need for mandatory fields that aren't provided by default during the initial task creation stage. Instead of relying on forms, which aren't always convenient for the team, the following approach can be used:
- Configuring Mandatory Fields During Task Creation:
* Problem: The absence of a mechanism to enforce the completion of critical fields (e.g., description, task type) when a task is created. Yandex Tracker doesn't offer this option by default in the initial step.
* Solution: Enable a 'Transition Screen' between the 'New' and 'Ready for Work' statuses within the queue's workflow. On this screen, all fields that must be filled before the task moves into active work are configured. This ensures that tasks entering the workflow already contain the necessary information, although it does require an intermediate step after creation.
- Excluding Specific Tasks from Lead Time Calculation:
* Problem: Certain tasks encountering unforeseen difficulties or delays can skew Lead Time statistics, hindering an accurate assessment of team performance.
* Solution: Create a custom field of type 'Integer' named 'Exclude from Lead Time'. For 'problematic' tasks, this field is set to '1'. When building dashboards to calculate Lead Time, apply a filter that excludes tasks where the 'Exclude from Lead Time' field has a value of '1' (or is not empty). This allows for a cleaner and more relevant performance metric.
- Automating Useful Fields: Creation Date, Completion Date, Resolution:
* Problem: Standard creation and completion date fields are not always convenient for use in dashboards. Resolutions also often require manual input.
* Solution: Configure automatic population of these fields via workflow and triggers:
* Completion Date and Resolution: When a task transitions to 'Closed' status, the resolution is automatically set to 'Resolved'. When transitioning to 'Cancelled', it's set to 'Won't Do'. If a task is reopened, the resolution and completion date should be cleared to prevent incorrect data.
* Creation Date: Use a trigger that automatically populates a custom 'Creation Date' field with the current date when a task is created. This field can then be used for building reports and dashboards.
Enhanced Automation and Notifications
Beyond basic task management, there's a need for more sophisticated automation in assigning responsibilities and informing the team. This is particularly relevant in larger teams or when roles frequently change.
- Automated Assignee Assignment:
* Problem: The need to quickly and accurately assign assignees (developers, testers) at different stages of a task's lifecycle, and to track their roles in the task's history.
* Solution: Create additional custom fields, for example, 'Developer' and 'Tester'. Then, configure automation for status transitions:
* When a task transitions to 'In Progress' status, the user who initiated the transition is assigned as the assignee and also saved in the 'Developer' field.
* When transitioning to 'In Testing' status, a tester (or group of testers) is assigned as the assignee, and their name is saved in the 'Tester' field.
* If necessary, upon transitioning to 'Business Review' status, the task can be automatically returned to the author.
This approach not only automates assignments but also allows for collecting statistics on the involvement of various roles.
- Telegram Notifications to Individual Users:
* Problem: Some critically important notifications might be overlooked by users amidst the general volume of system alerts from Tracker.
* Solution: Create a Telegram bot (e.g., via @BotFather) and configure triggers in Yandex Tracker to send messages to this bot. The bot, in turn, forwards these notifications to specific users. It's important to note that with a large number of users or queues, this setup can become cumbersome, as a separate trigger will be required for each user and queue.
- Reopened Issue Counter:
* Problem: Tracking the number of times issues are reopened (e.g., in Helpdesk) is a crucial metric for support quality but isn't directly supported by Tracker.
* Solution: Create two custom fields: 'Reopened Count' (integer) and 'Counter Helper' (also integer). Using triggers and automation:
* When a task is created, 'Counter Helper' is initialized to '0'.
* Each time a task transitions from 'Closed' (or any other final status) back to an active status (e.g., 'In Progress'), the 'Reopened Count' field is incremented by one.
This allows for easily collecting statistics on reopened issues in dashboards.
Enhancing User Experience and External Integrations
To ensure comprehensive project management, integration with external systems and adapting Tracker to specific evaluation methodologies are often required.
- CSAT Survey (Customer Satisfaction Score):
* Problem: Conducting anonymous customer satisfaction (CSAT) surveys after task completion, while maintaining anonymity and processing results externally.
* Solution: Configure an event to be sent via webhook when a task is closed in Tracker. This webhook is intercepted by an external system (e.g., n8n), which then initiates a Telegram bot to send a request to the task's author for feedback on the quality and speed of task execution. The collected ratings are recorded in a separate database and can be visualized, for example, in Datalens. This method ensures anonymity and flexibility in gathering feedback.
- Converting Story Points via T-shirt Sizing:
* Problem: The team is accustomed to estimating tasks using T-shirt sizing (XS/S/M/L/XL), but performance metrics require Story Points.
* Solution: Instead of retraining the team on a new estimation system, triggers can be created to automatically convert values from a 'T-shirt Size' field into corresponding numerical values in a 'Story Points' field. For example, XS=1, S=3, M=5, L=8, XL=13. This approach minimizes resistance to change and allows the team to use their familiar estimation methods while simultaneously providing data for metrics.
- Deadline Reminders for Recurring Events:
* Problem: Managing recurring events (license renewals, hosting, certificates) and their deadlines, which are often missed.
* Solution: Create a separate queue (e.g., 'LICENSE') for such tasks. Each license or recurring event is set up as an individual task with complete information (client, payment method, manager). An accountable person (e.g., manager or administrator) is assigned as the assignee. Notifications for approaching deadlines are configured via Telegram to a general chat. After renewal actions are completed, the manager updates the deadline date for the next period. A similar approach can be applied to OKR check-in calendars.
- On-Call Duty Calendar:
* Problem: Automatically assigning an on-call assignee to tasks according to an external duty schedule that isn't stored within Tracker.
* Solution: Utilize integration with n8n, which will act as the 'God of Workarounds':
* Daily, n8n retrieves up-to-date data via API from an external duty calendar (which could be in Google Calendar, a shared document, or a database).
* n8n monitors for new issues or tasks appearing in Tracker.
* Based on the duty data, n8n sends a message to a corporate chat, informing about the current on-call person.
* Via the Tracker API, n8n assigns the current on-call person as the assignee for the relevant task.
* Additionally, information about the on-call person is saved in a separate custom task field for subsequent analysis and reporting.
Key Takeaways
- Flexibility Through Custom Configurations: Despite its inherent power, Yandex Tracker offers extensive opportunities for adaptation through custom fields, triggers, and automations, enabling the implementation of logic not covered by its basic functionality.
- Automating Routine Processes: Many of the 'workarounds' presented here aim to eliminate manual labor and minimize human error, thereby increasing the speed and reliability of task execution.
- Improving Metrics and Reporting: Custom fields and automated data population are critically important for collecting accurate and detailed statistics needed for performance analysis and management decisions.
- Integration with External Systems: The use of webhooks and tools like n8n opens the door for seamless integration of Tracker with other services, significantly expanding its ecosystem.
- Prioritizing Pragmatic Solutions: In real-world projects, it's often more crucial to find a functional and stable solution, even if it's not the most architecturally elegant, than to strive for an ideal that demands unreasonable time and resource expenditures.
— Editorial Team
No comments yet.