docs/wiki/3.07-Issue-Integration-Comparison.md
This reference lists which capabilities each issue provider supports: issue import, status transitions, time tracking/worklog submission, comments, subtasks, attachments, filtering options, auto-import to backlog, story points, due dates, and other provider-specific behavior. Use it to compare providers or to see what to expect when you enable one.
For an overview of how integrations work and how to set them up, see [[4.24-Integrations]] and [[2.07-Manage-Task-Integrations]]. For a comparison of sync providers (WebDAV, Dropbox, SuperSync, local file), see [[3.08-Sync-Integration-Comparison]].
Every issue provider supports the same basic operations: checking that the integration is enabled, testing the connection, opening the issue in the external system, fetching an issue by ID, searching issues, and adding an issue as a task in the app. All providers also support refreshing already-imported tasks so that changes in the external system (title, status, etc.) are reflected locally. Each provider has a configurable poll interval (or none) for how often the app checks for updates. Beyond that, support for status transitions, worklogs, comments, subtasks, attachments, and filtering depends on the provider and the external API.
| Provider | Import | Status | Worklog | Comments | Subtasks | Attachments | Filtering | Auto-import | Story pts | Due dates |
|---|---|---|---|---|---|---|---|---|---|---|
| Jira | Yes | Yes | Yes | Yes | Yes | Yes | JQL | Yes | Yes | — |
| GitHub | Yes | No | No | Yes | No | No | Repo, assignee | Yes | — | — |
| GitLab | Yes | Auto (closed) | Deprecated | Yes | No | No | Project, scope | — | Weight | Yes |
| Gitea | Yes | No | No | No | No | No | Repo, scope, labels | Last 100 | — | — |
| OpenProject | Yes | Yes | Yes | No | No | Yes | Scope, status | — | Yes | Yes |
| CalDAV | Yes | Config | No | No | No | No | Category | — | — | Yes |
| Calendar (iCal) | Yes | No | No | No | No | No | Text search | Today | Duration | Yes |
| Redmine | Yes | No | No | No | No | No | Project, scope | Last 100 | — | — |
| Trello | Yes | No | No | No | No | Yes | Board | Yes | Yes | — |
| Linear | Yes | Auto (state) | No | No | No | Yes | Team, project | Yes | — | — |
| ClickUp | Yes | Auto (status) | No | No | Yes | Yes | Team | Yes | — | — |
Legend: Status = configurable or automatic status transitions; Worklog = time tracking submission to the external system; Auto-import = automatic import of new issues into backlog (or "Last 100" / "Today" where noted).
scope/name). Also works against Forgejo. The labels= query is still sent to the server as a coarse pre-filter, but Gitea's /repos/{owner}/{repo}/issues and /repos/issues/search endpoints disagree on AND vs OR semantics (go-gitea/gitea#33509), so the client filter is the source of truth.https://<NC-URL>/remote.php/dav/calendars/<USER>/<CALENDAR_NAME>/. Use the “Copy private link” (or CalDAV URL) from your calendar—not the subscription/export link (that is for the iCal integration). Items without a valid VTODO are skipped.https://<NC-URL>/remote.php/dav/public-calendars/<CALENDAR-ID>?export. Paste this in the app under “URL of the iCal source.” Do not use the “Copy private link”—that format is for CalDAV, not iCal.Optional capabilities (e.g. subtasks, attachments, sending updates back to the external system) are implemented per provider depending on what the external API supports.