Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demo PR for Showcasing Issue Comments Threading #7

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

mpl1018
Copy link
Contributor

@mpl1018 mpl1018 commented Mar 20, 2024

Useful links:

The problem

By default, GitHub doesn't allow threaded messages in PR issue comments. This has been a pain for many people for a long time:

This means that some Pullpo functionality, like full bidirectionality (sending all Slack PR Channels messages back to GitHub), may not be showcased optimally. This doesn't occur with GitLab and Bitbucket (which we also integrate, by the way).

Before and After

Thanks to .github/workflows/pullpo.yml and the Pullpo app, when someone creates an issue comment on a GitHub PR (or even in its PR Slack channel), the Pullpo app will take that message and transform it into a file comment message referencing a newly created file called pr_${{ github.event.pull_request.number }}_threads.txt.

Before

image

After

image

Why a GitHub action is necessary and not just a GitHub app.

The GitHub action requires write access to your code, this way you can see exactly how this permission is being used. The Pullpo app is not open source, and this way we don't have to ask for any sensitive permission..

Is the new created file going to generate merge conflicts?

No never. The GitHub Action in charge of setting up the 一pullpo一 directory, which allows threaded conversations, produces a distinct file for each new pull request. As the file created for your pull request has its own unique name and is not present in any other pull request, there's no chance of encountering a merge conflict due to Pullpo's threaded conversations workflow.

How does it work?

This GitHub Action, named "Pullpo PR Threads," runs whenever a pull request is opened. This action requires write permissions, that's why we make it fully available to you, so that you can see exactly what it does.

Here's what it does:

When a pull request is opened, it creates a special folder called 一pullpo一 if it doesn't already exist. We named it this way so that it always appears at the end of the files changed tab. Inside this folder, a simple text file is created to track discussions related to this specific pull request. Based on how it works, these files will never create merge conflicts.

Then when someone creates an issue comment on GitHub (or in a PR Slack channel), the Pullpo app is going to take that message and transform it into a file comment message referencing this newly created file.

Basically, this action sets up a spot for threaded conversations linked to pull requests. It helps the Pullpo app to organize comments more neatly.

Installation

Install Pullpo in your GitHub org or individual account.

First, you will need to install Pullpo in your GitHub account. Installing the Pullpo Slack integration is not necessary for issue threading, but it's recommended. Read more about the installation process here.

Add GitHub action (runs in 10s)

In every repo where you want to enable GitHub PR issue threads you need to add this 10s GitHub action.

(Optional) Enable PR Slack Channels with full bidirectionality.

To get the most out of Pullpo, enable full sync with PR Slack channels. After installing our Slack integration and synchronizing your devs, you can enable full-sync mode in your Pullpo settings.

Try it yourself by generating an issue comment in this PR! Have fun! 😊

Copy link

🔗Pullpo.io Slack channel

Copy link

pullpo-for-slack bot commented Mar 20, 2024

Review:

The addition of color options for "red", "cyan", and "yellow" provides more customization for the user, which is a nice enhancement. Updating the default color to "default" seems like a good choice for consistency. Overall, these changes seem straightforward and beneficial for the functionality of the program.

Detailed file changes:

In cmd/pullpo/main.go:

  • Added color options for "red", "cyan", and "yellow" in the switch case statement.
  • Updated the default color to be "default" in the switch case statement.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now you can have threaded conversations on PR issue comments

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And also have the option to comment from Slack

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Demo.mp4

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@neoxelox replied with:

Hi 👋!
I'm testing these PR threads...

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How cool! It works 🚀

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @neoxelox, as you can see, the Pullpo bot couldn't impersonate you in the comment. This is because you need to sign in to Pullpo with your GitHub account :)

@pullpo-for-slack pullpo-for-slack bot deleted a comment from neoxelox Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants