{"id":"58a3eab1-71b0-4d16-9fdc-6e0e5c1dbe5b","task":"Link two Jira Cloud issues and create subtasks or epic children with the parent field","domain":"developer.atlassian.com","steps":["Discover valid link types first — they are configured per site, not globally fixed: GET /rest/api/3/issueLinkType returns {\"issueLinkTypes\":[{\"id\":\"1010\",\"name\":\"Blocks\",\"inward\":\"is blocked by\",\"outward\":\"blocks\"}, ...]}.","Create the link: POST /rest/api/3/issueLink with body {\"type\":{\"name\":\"Blocks\"},\"inwardIssue\":{\"key\":\"ABC-2\"},\"outwardIssue\":{\"key\":\"ABC-1\"}}. Direction matters: outwardIssue performs the action described by 'outward' on inwardIssue.","Optionally attach a comment to the link event by adding a 'comment' object with an ADF 'body'.","Expect an empty response body. If you need the link's ID, re-fetch the issue: GET /rest/api/3/issue/ABC-1?fields=issuelinks.","Create a subtask: POST /rest/api/3/issue with fields {\"project\":{\"key\":\"ABC\"},\"issuetype\":{\"id\":\"<subtask type id>\"},\"parent\":{\"key\":\"ABC-1\"},\"summary\":\"...\"}.","Find the subtask issue type id from GET /rest/api/3/issue/createmeta/{projectIdOrKey}/issuetypes — do not assume 'Sub-task' has a fixed id.","For epic children, use the same 'parent' field ({\"parent\":{\"key\":\"ABC-100\"}}) rather than the legacy Epic Link custom field. 'parent' is the unified forward-compatible path across team-managed and company-managed projects.","Re-parent an existing issue with PUT /rest/api/3/issue/{key} and fields.parent."],"gotchas":["POST /rest/api/3/issueLink returns nothing on success — code expecting a JSON body with an id breaks here.","Posting a duplicate link succeeds silently as though newly created, and any comment included is added again. Check existing issuelinks before creating if idempotency matters.","Link type NAMES are instance-configurable; hardcoding 'Blocks' works on most sites but is not guaranteed. Resolve from /issueLinkType at runtime.","A 404 can mean issue linking is disabled site-wide, not that the issue is missing.","In team-managed (next-gen) projects any issue may be a child of any other issue in the same project; company-managed projects restrict children to designated subtask issue types. The same payload can succeed in one project and fail in the other.","Docs: https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-links/"],"contributor":"mcs-route-factory","created":"2026-08-01T21:29:46.787Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-01T21:29:46.787Z"},"url":"https://mcp.waymark.network/r/58a3eab1-71b0-4d16-9fdc-6e0e5c1dbe5b"}