Switch from Pagure to Forge for blocker review discussions #296

Open
opened 2026-01-20 13:26:09 +00:00 by kparal · 6 comments
Owner

Currently we support only Pagure for doing async blocker review discussions. For production, we use the blocker-review repo.

Since we're migrating from Pagure to Forge, we would need a change in blockerbugs that would drop Pagure support and introduce Forge support for blocker discussions.

This means:
a) implementing reading, creating and editing a Forge ticket through its API
b) figuring out how to get notified when a Forge ticket is updated (in Pagure, we do this through a webhook)
c) figuring out authentication with Forge, and testing for privileged members
d) fixing ticket formatting if needed

Don't forget that most of the changes can be tested through staging instances - https://stg.pagure.io , https://bugzilla.stage.redhat.com and https://forge.stg.fedoraproject.org .

Currently we support only Pagure for doing async blocker review discussions. For production, we use the [blocker-review](https://pagure.io/fedora-qa/blocker-review) repo. Since we're migrating from Pagure to Forge, we would need a change in blockerbugs that would drop Pagure support and introduce Forge support for blocker discussions. This means: a) implementing reading, creating and editing a Forge ticket through its API b) figuring out how to get notified when a Forge ticket is updated (in Pagure, we do this through a webhook) c) figuring out authentication with Forge, and testing for privileged members d) fixing ticket formatting if needed Don't forget that most of the changes can be tested through staging instances - https://stg.pagure.io , https://bugzilla.stage.redhat.com and https://forge.stg.fedoraproject.org .
kparal added this to the Next tasks project 2026-01-20 13:26:10 +00:00
kparal modified the project from Next tasks to Sprint 2 2026-01-23 08:06:57 +00:00
jgroman added reference fix/296-blocker-review-voting-on-forge 2026-01-27 09:06:34 +00:00
kparal modified the project from Sprint 2 to Sprint 3 2026-02-10 15:00:56 +00:00
Owner
  • The code currently lives in branch fix/296-blocker-review-voting-on-forge
  • Forge bot is configured using new constants with FORGEJO_ prefix in config.py, there is also new DISCUSSION_SYSTEM option, which needs to be changed from "pagure" to "forgejo"
  • Users currently get authorized to vote by being members of the team set in FORGEJO_ADMIN_TEAM (unfortunate name, needs refactoring :) )
- The code currently lives in branch `fix/296-blocker-review-voting-on-forge` - Forge bot is configured using new constants with `FORGEJO_` prefix in `config.py`, there is also new `DISCUSSION_SYSTEM` option, which needs to be changed from "pagure" to "forgejo" - Users currently get authorized to vote by being members of the team set in `FORGEJO_ADMIN_TEAM` (unfortunate name, needs refactoring :) )
adamwill modified the project from Sprint 3 to Sprint 4 2026-02-24 16:31:55 +00:00
jgroman modified the project from Sprint 4 to Sprint 5 2026-03-10 12:27:26 +00:00
Author
Owner

Some thoughts during my quick inspection today:

  • Pagure support is still kept in (and it involves some overhead code to differentiate between the two systems), do you have a preference? I'd either drop Pagure immediately, or (in case we want to play defensive), after a few weeks once Forgejo integration is verified to work in production. The latter is of course safer, but given that we'll likely push this to production after F44 cycle, we won't have many tickets to validate this with for the next 3-4 months, so I'm not sure if that helps us at all 🙂 I currently lean a bit towards just nuking Pagure immediately, which will make the new code simpler (including CLI commands). What about you?

Also, let's create a PR so that I can put some direct comments on particular lines?

Some thoughts during my quick inspection today: * Pagure support is still kept in (and it involves some overhead code to differentiate between the two systems), do you have a preference? I'd either drop Pagure immediately, or (in case we want to play defensive), after a few weeks once Forgejo integration is verified to work in production. The latter is of course safer, but given that we'll likely push this to production after F44 cycle, we won't have many tickets to validate this with for the next 3-4 months, so I'm not sure if that helps us at all 🙂 I currently lean a bit towards just nuking Pagure immediately, which will make the new code simpler (including CLI commands). What about you? Also, let's create a PR so that I can put some direct comments on particular lines?
Owner

I was just playing it safe and keeping backwards compatibility with Pagure just in case. If that is not really required we can remove Pagure specific code for sure.
Let's create PR after possible Actions upgrade is evaluated (#298) since that would change required code considerably.

I was just playing it safe and keeping backwards compatibility with Pagure just in case. If that is not really required we can remove Pagure specific code for sure. Let's create PR after possible Actions upgrade is evaluated (https://forge.fedoraproject.org/quality/blockerbugs/issues/298) since that would change required code considerably.
Author
Owner

Let's create PR after possible Actions upgrade is evaluated (#298) since that would change required code considerably.

I wouldn't delay this with that ticket. It might take a long time to evaluate it and it might be a complete rewrite of the process. We can be much quicker if we finalize this and push to production, because you have it almost all written already, as it seems. We can consider #298 as a possible future improvement.

> Let's create PR after possible Actions upgrade is evaluated (#298) since that would change required code considerably. I wouldn't delay this with that ticket. It might take a long time to evaluate it and it might be a complete rewrite of the process. We can be much quicker if we finalize this and push to production, because you have it almost all written already, as it seems. We can consider #298 as a possible future improvement.
Author
Owner

In our today's team call, we agreed that it makes no sense to carry forward Pagure integration as well. Jaroslav, could you please adjust the PR to drop Pagure support? It should make some code paths simpler. Thanks!

In our today's team call, we agreed that it makes no sense to carry forward Pagure integration as well. Jaroslav, could you please adjust the PR to drop Pagure support? It should make some code paths simpler. Thanks!
Owner

Ack, will do.

Ack, will do.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
quality/blockerbugs#296
No description provided.