kestra-io / kestra-io/plugin-linear
Create returns no issue URL or identifier, and every property is grouped as advanced
- Dominant language
- Java
- Stars
- 1
- Forks
- 4
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 2
Description
## Problem 1 — the created issue cannot be linked to or referenced
`io.kestra.plugin.linear.issues.Create` outputs `issueId` and `isSuccess`. `issueId` is Linear's
internal UUID. Two things are missing:
- **The issue URL.** There is no way to link to the issue that was just created.
- **The human identifier** (`ENG-123`). That is what appears in Linear's UI, in commit messages and
in conversation; the UUID appears nowhere a person would recognise.
Compare the other ticketing plugins:
| Task | Outputs |
|---|---|
| `io.kestra.plugin.github.issues.Create` | `issueNumber`, `issueUrl` |
| `io.kestra.plugin.gitlab.issues.Create` | `issueId`, `webUrl` |
| `io.kestra.plugin.zendesk.tickets.Create` | `id`, `url` |
| `io.kestra.plugin.linear.issues.Create` | `issueId` (UUID) only |
Linear's GraphQL `issueCreate` mutation can return `identifier` and `url` on the created issue, so
the information is available at the point it is currently discarded.
### Why it matters
Anything acting on the issue after creating it is impossible today: posting its link to Slack,
recording it against an incident, or referencing it anywhere a human will read. This blocks linking an
external ticket to a Kestra EE case (https://github.com/kestra-io/kestra-ee/issues/10859), where the
pattern is to create the ticket and pass its key and URL to a follow-up task.
## Problem 2 — the task has no `main` group
Every property except `token` is grouped `advanced`, so the task has no primary fields at all.
| Property | Current group | Expected |
|---|---|---|
| `title` | `advanced` | `main` |
| `description` | `advanced` | `main` |
| `team` | `advanced` | `destination` |
| `labels` | `advanced` | `advanced` (correct today) |
`title` is the single most important field on the task. `team` says *where* the issue goes, which is
what `destination` means — the equivalent in `plugin-github`, `repository`, is `destination`.
`$group` is what tells the UI which section to render a property under, and what any schema-driven
consumer reads to tell credentials apart from parameters.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.