makeplane / makeplane/plane

🚀 Feature: GitHub Integration — missing state mapping for "issues referenced by an open PR"

Open
#9,056 1 comment 0 reactions 1 assignee View on GitHub

@Saurabhkmr98 is already working on this.

Since May 13, 2026.

Dominant language
TypeScript
Stars
59.6k
Forks
5.8k
Avg merge
1d 22h
Merged PRs (30d)
49

Description

Summary

The GitHub integration supports two state mappings — issue opened → configurable
state, issue closed → configurable state. There is no mapping for the intermediate
case: issue open and referenced by an open PR.

Current behaviour

GitHub condition Plane state
Issue opened Ready for Dev (configurable)
Issue closed In Review (configurable)

When a PR is opened with Closes #NNN or Fixes #NNN in its body, the linked
Plane ticket stays in its current state — even though the work has clearly moved
into code review.

The only native workaround is the PR state automation feature, which requires
putting the Plane ticket ID in brackets in every PR title (e.g. [XTREND-77]).
This creates friction — developers must manually look up and include the Plane ID
on every PR, and it breaks down as soon as anyone forgets.

Requested behaviour

A third configurable mapping in the GitHub integration settings:

GitHub condition Plane state
Issue open, no PR referencing it Ready for Dev
Issue open, referenced by an open PR Code Review ← missing
Issue closed In Review

With its reversal: if the PR is closed without merging, the ticket returns
to the "open, no PR" state.

Why this is feasible

The data already exists on both sides:

  • Plane stores external_source: "GITHUB" and external_id: "<issue_number>"
    on every synced ticket — the lookup chain is already there.
  • GitHub fires a cross_referenced event on the issue timeline when a PR body
    contains Closes / Fixes / Resolves #NNN.

Impact

Without this, the integration covers the beginning and end of the dev lifecycle
but misses the most visible middle step. Teams either lose the state transition
entirely or add process overhead by requiring Plane IDs in PR titles.

As a workaround we have built a GitHub Actions workflow that calls the Plane API
on PR events, but this belongs natively in the integration.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.