# Usability of GitHub projects for triagers

**URL:** <https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548>\
**Category:** Core Development\
**Created:** [June 13, 2022, 12:38pm UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548 "2022-06-13T12:38:40Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![encukou](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/encukou/32/2461_2.png) [@encukou](https://discuss.python.org/u/encukou)\
**Post date:** [June 13, 2022, 12:38pm UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/1 "2022-06-13T12:38:40Z")

</div>

_In another thread, we discussed using GitHub Projects (beta) for organizing issues. There are [lots of advantages](https://discuss.python.org/t/16437/4), but the experience is not perfect. The discussion was moved here._

> [@Should we close issues for platforms not covered by PEP 11 or under active development?](https://discuss.python.org/t/should-we-close-issues-for-platforms-not-covered-by-pep-11-or-under-active-development/16437/5):
>
> Triagers can’t add/remove issues

It seems it [is possible to set per-team permissions for projects](https://docs.github.com/en/organizations/managing-access-to-your-organizations-project-boards/managing-team-access-to-an-organization-project-board).

With that, a GitHub project full of issues closed as “not planned” sounds like a reasonable solution.

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [June 14, 2022, 9:25am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/2 "2022-06-14T09:25:30Z")

</div>

Looks like it has to be configured for each and every project, but that’s fine in this instance.

And we already have a [triage team](https://github.com/orgs/python/teams/python-triage), so let’s give it a try! 🙂

Picking a [GitHub admin](https://devguide.python.org/devcycle/#current-administrators), @brettcannon please could you create a project and add the triage team? Instructions in Petr’s post.

---

<div class="post-metadata">

**Author:** ![encukou](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/encukou/32/2461_2.png) [@encukou](https://discuss.python.org/u/encukou)\
**Post date:** [June 14, 2022, 10:00am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/3 "2022-06-14T10:00:29Z")

</div>

Looks like I can do it; could you check if you have access to this? [https://github.com/orgs/python/projects/27/views/1](https://github.com/orgs/python/projects/27/views/1)  
(For any details that need changing, feel free to DM me so we don’t spam here)

---

<div class="post-metadata">

**Author:** ![AlexWaygood](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/alexwaygood/32/4722_2.png) [@AlexWaygood](https://discuss.python.org/u/AlexWaygood)\
**Post date:** [June 14, 2022, 10:12am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/4 "2022-06-14T10:12:57Z")

</div>

> [@encukou](#):
>
> could you check if you have access to this?

I just managed to add an issue (as a triager) – looks good!

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [June 14, 2022, 10:13am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/5 "2022-06-14T10:13:44Z")

</div>

It’s working, although not entirely as expected.

I (a triager) added the \_curses one here:

![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/d/d69423800136e4116630f0f60d82b43171c2b9f1.png)

I had to add it via the project itself, as there’s no option via the issue sidebar:

![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/2X/8/853cb5fba05ff13d507dcd69386fceb3fb25e268.png)

---

<div class="post-metadata">

**Author:** ![encukou](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/encukou/32/2461_2.png) [@encukou](https://discuss.python.org/u/encukou)\
**Post date:** [June 15, 2022, 6:51am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/6 "2022-06-15T06:51:08Z")

</div>

For me the _Projects_ heading is clickable; is your version inert?

---

<div class="post-metadata">

**Author:** ![AA-Turner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/aa-turner/32/4979_2.png) [@AA-Turner](https://discuss.python.org/u/AA-Turner)\
**Post date:** [June 15, 2022, 7:00am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/7 "2022-06-15T07:00:39Z")

</div>

> [@encukou](#):
>
> Is your version inert?

I’ve just checked and it isn’t clickable (just two plain `<div>`s – note for us (triagers) there’s no ‘settings cog’ similar to milestones/labels on the screen. We also can’t link issues and PRs (the “Development” heading).

A

---

<div class="post-metadata">

**Author:** ![encukou](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/encukou/32/2461_2.png) [@encukou](https://discuss.python.org/u/encukou)\
**Post date:** [June 15, 2022, 7:37am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/8 "2022-06-15T07:37:29Z")

</div>

Do you want to “Give Feedback” to GitHub using the link on the project page? Assuming you have that link.  
I can do it if you don’t want to, but it’s probably better from a triager in case they need to follow up.

* * *

(FWIW, I’ve asked Discourse moderators to move the “GH Projects vs. triagers” tangent, so we can focus on unsupported platforms again.)

---

<div class="post-metadata">

**Author:** ![AA-Turner](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/aa-turner/32/4979_2.png) [@AA-Turner](https://discuss.python.org/u/AA-Turner)\
**Post date:** [June 15, 2022, 7:49am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/9 "2022-06-15T07:49:12Z")

</div>

> [@encukou](#):
>
> Do you want to “Give Feedback” to GitHub using the link on the project page? Assuming you have that link.

(Replying so that this comment gets dragged out along with the others in the thread split)

There’s some additional context on [this core-worklow issue](https://github.com/python/core-workflow/issues/460#issuecomment-1152656174), and three threads on the same feedback repository that the ‘give feedback’ link points to. Hugo and I at least have voted in support of the linked feedback issues ([primarily this thread](https://github.com/github-community/community/discussions/5773)) – I’m not sure if the best approach would be to open a new one, or comment on an existing one. None of them have any comments by a GitHub staff member, though.

A

---

<div class="post-metadata">

**Author:** ![CAM-Gerlach](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/cam-gerlach/32/3688_2.png) [@CAM-Gerlach](https://discuss.python.org/u/CAM-Gerlach)\
**Post date:** [June 16, 2022, 3:44am UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/10 "2022-06-16T03:44:35Z")

</div>

There might be a way to give triagers, or at least trusted triagers, this feature and the others we’ve been asking for without giving them any ability to push, merge to or otherwise modify any branches on the repo, without waiting (potentially forever) for GitHub to add each of them—use branch protect to restrict creating, pushing and merging for all branches to only teams that currently have write access (so there’s no change for them), and then grant triagers (or a sub-team of trusted triagers) the “write” role, which allows them to use these various GitHub UI features without being able to actually modify anything on the repo itself. See [my comments](https://github.com/python/core-workflow/issues/460#issuecomment-1156961074) on the issue for more.

---

<div class="post-metadata">

**Author:** ![ezio-melotti](https://avatars.discourse-cdn.com/v4/letter/e/f17d59/32.png) [@ezio-melotti](https://discuss.python.org/u/ezio-melotti)\
**Post date:** [June 21, 2022, 6:43pm UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/11 "2022-06-21T18:43:33Z")

</div>

> [@encukou](#):
>
> Looks like I can do it; could you check if you have access to this? [https://github.com/orgs/python/projects/27/views/1](https://github.com/orgs/python/projects/27/views/1)

This was split from the original thread and got a bit lost. Unless this was meant merely as an experiment to test permissions, it should be updated and advertised in the other thread.

---

<div class="post-metadata">

**Author:** ![ezio-melotti](https://avatars.discourse-cdn.com/v4/letter/e/f17d59/32.png) [@ezio-melotti](https://discuss.python.org/u/ezio-melotti)\
**Post date:** [June 30, 2022, 2:39pm UTC](https://discuss.python.org/t/usability-of-github-projects-for-triagers/16548/12 "2022-06-30T14:39:28Z")

</div>

I created a PR to automatically add issues/PRs to projects when they are created/labeled:

> <https://github.com/python/cpython/pull/94447>
>
> This PR adds a workflow that uses the \["Add to GitHub Projects Beta" action\](htt…ps://github.com/marketplace/actions/add-to-github-projects-beta) to automatically add issues and PRs that have been created or labeled to the corresponding project.
> 
> So far it only updates the \[Release and Deferred blocker project\](https://github.com/orgs/python/projects/2), but if that works well we can update the workflow to include other projects that have corresponding labels. This will also solves in the short term the issue of triagers not being able to update projects from an issue/PR.
> 
> cc @encukou, @hugovk, @CAM-Gerlach
