kestra-io / kestra-io/plugin-linear

Create returns no issue URL or identifier, and every property is grouped as advanced

Open
#86 0 comments 0 reactions 1 assignee Claimed by @jymaire View on GitHub
area/plugin kind/highlight kind/quick-win
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.