Skip to content

Commit 276dcc8

Browse files
authored
Merge pull request #355 from makeplane/github-ux-changes
Updated the GitHub integrations page
2 parents e872f14 + 7da56bd commit 276dcc8

File tree

1 file changed

+116
-44
lines changed

1 file changed

+116
-44
lines changed

docs/integrations/github.mdx

Lines changed: 116 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -108,46 +108,86 @@ If you don’t have admin access, you can still connect your personal GitHub acc
108108
:::
109109
5. Once connected, your GitHub account will be listed in Plane.
110110

111-
### Add repository mappings
111+
## Sync issues
112112

113-
Once GitHub is connected to Plane, workspace admins can map GitHub repositories to Plane projects. This ensures issues and pull requests sync correctly.
113+
With the GitHub integration set up, you can sync issues between Plane and GitHub at the project level. This ensures GitHub issues and Plane work items stay synchronized within your configured repositories and projects.
114+
115+
### Add project work item sync
116+
Once GitHub is connected to Plane, workspace admins can link GitHub repositories with Plane projects.
117+
118+
1. Navigate to the **Project Issue Sync** section under **Integrations**.
119+
2. Click the (+) button to create a new sync mapping.
120+
![Sync project to GitHub](https://media.docs.plane.so/integrations/github/sync-project-github.webp#center)
121+
3. In the modal that appears, configure the following:
122+
1. **Plane project**
123+
Select the Plane project you want to sync with.
124+
2. **GitHub repository**
125+
Choose the GitHub repository to connect.
126+
3. **Project issue sync**
127+
Map GitHub issue states to Plane states:
128+
- Issue Open → Select a Plane state (e.g., Todo)
129+
- Issue Closed → Select a Plane state (e.g., Done)
130+
4. **Select issue sync direction**
131+
Choose how issues should sync:
132+
- Unidirectional → Sync issues from GitHub to Plane only.
133+
:::warning
134+
This will overwrite Plane work item content with GitHub issue data.
135+
:::
136+
- Bidirectional → Sync issues both ways between GitHub and Plane.
137+
138+
![Sync direction](https://media.docs.plane.so/integrations/github/sync-direction.webp#center)
139+
5. Click **Start Sync**.
140+
141+
All configured project issue syncs will appear in a list where you can edit or remove them as needed.
142+
143+
### Sync issues to Plane
144+
After configuring project work item sync, you can link existing GitHub issues into your Plane project.
145+
146+
#### GitHub → Plane
147+
148+
1. In your GitHub repository, add the `Plane` label to any issue you want to sync.
149+
![Add Plane label](https://media.docs.plane.so/integrations/github/add-plane-label.webp#center)
150+
2. The issue will automatically be created as a work item in the linked Plane project.
151+
3. Plane posts a comment on the GitHub issue with a link to the newly created work item, confirming the connection.
152+
![Synced issue from GitHub](https://media.docs.plane.so/integrations/github/synced-issue-from-github.webp#center)
153+
4. The work item in Plane will include a link back to the original GitHub issue.
154+
![Creates issue in Plane](https://media.docs.plane.so/integrations/github/creates-plane-issue.webp#center)
114155

115-
![Repository mapping](https://media.docs.plane.so/integrations/github/repository-mapping.webp#center)
156+
### Sync work items to GitHub
157+
If you have existing work items in Plane that you want to sync to GitHub, you can do so using labels.
116158

117-
1. Go to the **Repository Mapping** section under **Integrations**.
118-
2. Click **Add** to create a new mapping.
119-
![Sync repo and project](https://media.docs.plane.so/integrations/github/sync-repo-and-project.webp#center)
120-
3. In the modal that appears, select:
121-
- The GitHub repository you want to sync.
122-
- The Plane project to map it to.
123-
- The Plane states to map the state of the pull requests.
124-
4. Click **Continue**.
159+
#### Plane → GitHub
125160

126-
All linked repositories will appear in a list, where you can edit or remove them as needed.
161+
1. In your Plane project, add the `GitHub` label to any work item you want to sync.
162+
![Add GitHub label](https://media.docs.plane.so/integrations/github/add-github-label.webp#center)
163+
2. A new issue will automatically be created in the linked GitHub repository.
164+
![Creates issue in GitHub](https://media.docs.plane.so/integrations/github/create-github-issue.webp#center)
165+
3. The GitHub issue will be linked back to the Plane work item.
166+
4. Future updates will sync according to your configured sync direction (unidirectional or bidirectional).
127167

128-
## Sync issues
168+
### How issue syncing works
129169

130-
With the GitHub integration setup, you can start syncing issues between Plane and GitHub. The synchronization is bi-directional and label-based, so issues are updated automatically on both platforms when certain labels are applied.
170+
#### State synchronization
131171

132-
### Github -> Plane
172+
- When a GitHub issue is opened or closed, the corresponding Plane work item automatically moves to the mapped state.
173+
- With bidirectional sync enabled, state changes in Plane work items will also update the GitHub issue status (open/closed).
133174

134-
1. Add the `Plane` label to an issue in GitHub to create and sync the issue in Plane.
135-
![Add Plane label](https://media.docs.plane.so/integrations/github/add-plane-label.webp#center)
136-
2. Plane posts a link back to the GitHub issue, confirming the connection.
137-
![Synced issue from GitHub](https://media.docs.plane.so/integrations/github/synced-issue-from-github.webp#center)
138-
3. A new work item is created in Plane with a link to the GitHub issue.
139-
![Creates issue in Plane](https://media.docs.plane.so/integrations/github/creates-plane-issue.webp#center)
175+
#### Creating synced issues
140176

141-
### Plane -> GitHub
177+
- Issues created in GitHub (within a synced repository) are automatically created in the linked Plane project.
178+
- With bidirectional sync enabled, work items created in Plane (with the sync configured) are also created in GitHub.
142179

143-
1. Add the `GitHub` label to a work item in Plane to sync it to GitHub.
144-
![Add GitHub label](https://media.docs.plane.so/integrations/github/add-github-label.webp#center)
145-
2. A new issue is created in GitHub.
146-
![Creates issue in GitHub](https://media.docs.plane.so/integrations/github/create-github-issue.webp#center)
147-
3. The GitHub issue is also linked back to Plane.
180+
#### Continuous updates
181+
182+
- All synced properties (title, description, assignees, labels, comments, etc.) update automatically based on your sync direction settings.
183+
- See [What gets synced?](#what-gets-synced) for detailed information on property-level sync behavior
148184

149185
### What gets synced?
150186

187+
:::warning[important]
188+
By default, syncing is unidirectional (GitHub → Plane only). Data from GitHub issues will overwrite corresponding data in Plane. Changes made in Plane will not sync back to GitHub unless you enable Bidirectional sync in your integration settings.
189+
:::
190+
151191
Here’s what syncs automatically between Plane and GitHub:
152192

153193
| Property   | Sync direction   | Notes |
@@ -161,29 +201,61 @@ Here’s what syncs automatically between Plane and GitHub:
161201
| Mentions | Both ways | Mentioned users sync if they are mapped; otherwise, a GitHub profile link is included. |
162202
| Issue links | GitHub → Plane | Any issue references in GitHub descriptions or comments will be displayed in Plane with a direct link to the issue including the repository name and owner. |
163203

164-
## Sync pull requests
204+
## Configure PR state automation
205+
206+
Pull requests (PRs) are also synchronized with Plane to ensure work item tracking remains accurate throughout the development lifecycle.
207+
208+
### Add pull request mapping
209+
210+
Once GitHub is connected to Plane, workspace admins can configure pull request state mapping for Plane projects. This ensures PR states automatically sync with work item states in the mapped project.
211+
212+
1. Navigate to the **Pull request state mapping** section.
213+
2. Click the (+) button to create a new mapping.
214+
![Repository mapping](https://media.docs.plane.so/integrations/github/pr-state-mapping.webp#center)
215+
3. In the modal that appears, configure the following:
216+
- **Plane project**
217+
Select the Plane project where PR state automation should be enabled.
218+
- **Pull request automation**
219+
Map GitHub pull request states to Plane work item states
220+
![Sync repo and project](https://media.docs.plane.so/integrations/github/pr-automation.webp#center)
221+
4. Click **Save**.
222+
223+
All configured pull request state mappings will appear in a list where you can edit or remove them as needed.
224+
225+
### Set up PR automation
226+
227+
To automate pull request state changes with Plane work items:
228+
229+
1. Configure PR state mapping for your Plane project to enable PR state automation. See [Add pull request mapping](#add-pull-request-mapping).
230+
2. Reference Plane work items in your GitHub PR title or description using the appropriate format. See [Reference formats](#reference-formats) below.
231+
3. Automatic state updates will move the work item state in Plane based on the GitHub PR state defined in your mapping.
165232

166-
Pull requests (PRs) are also synchronized with Plane to ensure issue tracking remains accurate throughout the development lifecycle.
233+
#### Reference formats
234+
There are two ways to reference Plane work items in your GitHub PRs:
167235

168-
#### Closing references and auto-updates
236+
##### With brackets [WEB-344] - State automation
169237

170-
When a pull request includes closing references to GitHub issues (e.g., `closes #14`), any linked Plane work items will automatically update with the PR link. If the PR is merged or closed, the Plane work item state updates based on the configured workflow in [Repository mappings](/integrations/github#add-repository-mappings).
238+
- Links the work item to the PR
239+
- Adds a comment from Plane App showing linked work items
240+
- Automatically updates the work item state based on PR state changes (as configured in your PR state mapping)
171241

172-
#### Magic words for issue references
242+
##### Without brackets WEB-344 - Link only
173243

174-
You can use specific keywords in GitHub pull requests to manage how Plane work items are updated.
244+
- Links the work item to the PR as a reference
245+
- Adds a comment from Plane App showing referenced work items
246+
- Does not trigger automatic state updates
175247

176-
- **Closing references**
177-
These keywords close linked issues when the PR is merged or closed.
178-
**Keywords**
179-
`close`, `closes`, `closed`, `closing`, `fix`, `fixes`, `fixed`, `resolve`, `resolves`, `resolved`, `complete`, `completes`, `completed`.
248+
*Example*
249+
```bash
250+
PR Title: [WEB-344] Add user authentication feature
251+
PR Description: Implements login functionality for WEB-345
252+
```
180253

181-
- **Non-closing references**
182-
These keywords maintain the state mappings of linked issues but don’t close them.
183-
**Keywords**
184-
`ref`, `references`, `reference to`, `part of`, `related to`.
254+
In this example:
255+
- WEB-344 will be fully automated (state changes with PR state)
256+
- WEB-345 will be linked as a reference only (no state automation)
185257

186-
#### PR lifecycle mapping
258+
### PR lifecycle mapping
187259

188260
The lifecycle of a pull request can be [mapped](/integrations/github#add-repository-mappings) to workflow states in Plane. The following PR states are available for mapping:
189261

@@ -194,9 +266,9 @@ The lifecycle of a pull request can be [mapped](/integrations/github#add-reposit
194266
- The PR is successfully merged.
195267
- The PR is closed without merging.
196268

197-
#### Issue backlinks in pull requests
269+
### Issue backlinks in pull requests
198270

199-
When a PR references Plane work items (using closing or non-closing reference keywords), Plane will post a confirmation comment on the pull request, ensuring visibility into which issues are linked.
271+
When a PR references Plane work items, Plane will post a confirmation comment on the pull request, ensuring visibility into which issues are linked.
200272

201273
---
202274

0 commit comments

Comments
 (0)