This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Linear Bulk Issue Cycle Assigner

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

Linear Bulk Issue Cycle Assigner is a project management productivity tool that streamlines the process of assigning cycles to multiple Linear issues. Instead of manually opening each issue, clicking the cycle picker, selecting a cycle, and saving—a process that can be repetitive and time-consuming when managing many issues—this script automates the entire workflow. It scans the current Linear project or issues list view, identifies all visible issues with their titles, IDs, and current cycle assignments, and presents them as a scrollable checklist. You can select individual issues, use Select All/Deselect All toggles, choose a target cycle from a dynamically populated dropdown (auto-detected from your Linear workspace's active cycles), and assign your selections to that cycle in configurable batches. The tool handles the complete interaction sequence: opening the cycle picker or edit interface, selecting the target cycle, and saving the changes. Real-time progress updates show how many issues have been updated, and the list automatically refreshes after completion. This is ideal for engineering managers, project leads, and agile teams who need to plan and assign work to cycles efficiently.

WHERE IT RUNS

This script operates exclusively on Linear (*.linear.app/*) as a userscript injected through the BotGentz extension. It runs within the context of your current browser tab and cannot access other tabs, bookmarks, history, or downloads. The script reads the page DOM to identify issue items using Linear's selectors (.issue-row, .list-item, .issue-card), extracts issue metadata (titles, IDs, current cycles), and interacts with Linear's native UI controls—cycle pickers, edit buttons, and save mechanisms—to perform cycle assignments. All operations occur locally in your browser; no data is sent to external servers.

HOW TO USE

1. Navigate to any Linear project or issues list view showing issues.

2. Click the BotGentz extension icon and select "Linear Bulk Issue Cycle Assigner" from the script list.

3. The panel opens on the right side of the page. It automatically scans the current page for issues.

4. Review the displayed issues, showing title, issue ID, and current cycle (or "No Cycle").

5. Select your target cycle from the dropdown (cycles are auto-detected from your workspace).

6. Adjust the "Batch size" number (default 3) to control how many issues are processed per batch.

7. Toggle "Confirm before each batch" if you want a confirmation popup before each batch executes.

8. Check the boxes next to issues you wish to assign. Use "Select All" or "Deselect All" for quick selection.

9. Click "Assign to Cycle" to begin. The script processes issues in batches, shows progress, and handles errors.

10. After completion, the issue list automatically refreshes showing your updated cycle assignments.

WHY IT WORKS WHERE OTHERS FAIL

Many Linear automation tools fail because they attempt to call Linear's internal API endpoints or rely on brittle DOM selectors that change with every Linear UI update. This script takes a resilient approach: it locates the actual interactive DOM elements Linear renders—the cycle picker dropdown, the edit button, and the save/confirm button—and triggers native click events and value changes on them, exactly as a human would. When using the cycle picker directly, the script sets the value using both the native value setter and dispatches "input" and "change" events, ensuring Linear's React/JavaScript UI registers the update. When the picker isn't directly available, the script clicks the edit button, waits for the cycle field to appear, selects the target value, and clicks Save. Between operations, the script introduces controlled delays (300ms between actions and 500ms between batches) to mimic human interaction speed and avoid triggering Linear's rate limiting. By interacting at the UI layer rather than the framework layer, it remains functional across Linear's frequent code updates.

THE PANEL

The script uses BotGentz's BGPanel system, which provides a floating, draggable panel on the right side of your screen. Drag the panel by its header to reposition it anywhere on the page—the panel remembers its position per site and snaps to the nearest edge when released. Click the minimize button to collapse the panel to a small floating bubble; click the bubble to expand it back. Resize the panel vertically by dragging its bottom edge. Press the Escape key to close the panel entirely. All panel state (position, collapsed/expanded) is persisted locally using GM_setValue, so your preferences survive page reloads.

PLEASE NOTE

This userscript requires the free BotGentz browser extension—it is not a standalone application. Linear periodically updates its website layout and UI components; if the script stops working, an updated version may be released. This script does not store, transmit, or process any of your Linear data outside your local browser. It does not access your password, hidden inputs, or file inputs. All cycle assignments are performed through Linear's own authenticated session using the official user interface. Assigning issues to cycles affects sprint/cycle planning, reporting, and automation rules configured in your Linear workspace. Use responsibly and review your selections carefully before confirming.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.