⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@bryan-cox
Copy link
Member

@bryan-cox bryan-cox commented Jan 16, 2026

Summary

Add a Prow job that automatically addresses review comments on PRs created by the jira-solve job using Claude Code's /utils:address-reviews command from the ai-helpers repository.

What it does

  1. Queries GitHub for open PRs from the hypershift-community fork that were created by the jira-agent
  2. Identifies PRs with unresolved review threads using GitHub's GraphQL API
  3. Runs Claude Code with the /utils:address-reviews command to analyze and address review comments
  4. Pushes changes back to the PR branch

Workflow steps

  • Setup: Verifies Claude CLI is available
  • Process: Queries GitHub, filters PRs with pending reviews, runs Claude for each, pushes changes

Configuration

  • Runs daily at 10:00 AM UTC (1 hour after jira-agent at 9:00 AM UTC)
  • Processes up to 5 PRs per run (configurable via REVIEW_AGENT_MAX_PRS)
  • Uses same GitHub App tokens and Vertex AI authentication as jira-agent
  • Rate limits at 60 seconds between PRs

Files added

  • ci-operator/step-registry/hypershift/review-agent/ - Workflow and step definitions
  • ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml - Periodic job config

Relationship to Jira Agent

This is a companion workflow to the hypershift-jira-agent (PR #70147):

Aspect Jira Agent Review Agent
Purpose Create PRs from Jira issues Address review comments on PRs
Schedule Daily 9:00 AM UTC Daily 10:00 AM UTC
Input Jira issues with issue-for-agent label PRs created by Jira Agent
Output Draft PRs Updated PR branches
Command /jira-solve /utils:address-reviews

Jira

https://issues.redhat.com/browse/CNTRLPLANE-2561


🤖 Generated with Claude Code via /jira:solve [CNTRLPLANE-2561](https://issues.redhat.com//browse/CNTRLPLANE-2561)

Add a new Prow workflow that automatically addresses review comments
on PRs created by the jira-agent using Claude Code's /utils:address-reviews
command from the ai-helpers repository.

The workflow:
- Queries GitHub for open PRs from hypershift-community fork
- Identifies PRs with "Generated with Claude Code" attribution
- Checks for unresolved review threads using GraphQL API
- Runs /utils:address-reviews on each PR with pending reviews
- Pushes changes back to the fork branch

This is a companion workflow to the hypershift-jira-agent that creates
the initial PRs. The review-agent runs 1 hour after the jira-agent to
pick up any review comments on newly created PRs.

Ref: CNTRLPLANE-2561

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 16, 2026
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 16, 2026

@bryan-cox: This pull request references CNTRLPLANE-2561 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Summary

Add a Prow job that automatically addresses review comments on PRs created by the jira-solve job using Claude Code's /utils:address-reviews command from the ai-helpers repository.

What it does

  1. Queries GitHub for open PRs from the hypershift-community fork that were created by the jira-agent
  2. Identifies PRs with unresolved review threads using GitHub's GraphQL API
  3. Runs Claude Code with the /utils:address-reviews command to analyze and address review comments
  4. Pushes changes back to the PR branch

Workflow steps

  • Setup: Verifies Claude CLI is available
  • Process: Queries GitHub, filters PRs with pending reviews, runs Claude for each, pushes changes

Configuration

  • Runs daily at 10:00 AM UTC (1 hour after jira-agent at 9:00 AM UTC)
  • Processes up to 5 PRs per run (configurable via REVIEW_AGENT_MAX_PRS)
  • Uses same GitHub App tokens and Vertex AI authentication as jira-agent
  • Rate limits at 60 seconds between PRs

Files added

  • ci-operator/step-registry/hypershift/review-agent/ - Workflow and step definitions
  • ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml - Periodic job config

Relationship to Jira Agent

This is a companion workflow to the hypershift-jira-agent (PR #70147):

Aspect Jira Agent Review Agent
Purpose Create PRs from Jira issues Address review comments on PRs
Schedule Daily 9:00 AM UTC Daily 10:00 AM UTC
Input Jira issues with issue-for-agent label PRs created by Jira Agent
Output Draft PRs Updated PR branches
Command /jira-solve /utils:address-reviews

Jira

https://issues.redhat.com/browse/CNTRLPLANE-2561


🤖 Generated with Claude Code via /jira:solve [CNTRLPLANE-2561](https://issues.redhat.com//browse/CNTRLPLANE-2561)

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 16, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 16, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Jan 16, 2026

@bryan-cox: This pull request references CNTRLPLANE-2561 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Summary

Add a Prow job that automatically addresses review comments on PRs created by the jira-solve job using Claude Code's /utils:address-reviews command from the ai-helpers repository.

What it does

  1. Queries GitHub for open PRs from the hypershift-community fork that were created by the jira-agent
  2. Identifies PRs with unresolved review threads using GitHub's GraphQL API
  3. Runs Claude Code with the /utils:address-reviews command to analyze and address review comments
  4. Pushes changes back to the PR branch

Workflow steps

  • Setup: Verifies Claude CLI is available
  • Process: Queries GitHub, filters PRs with pending reviews, runs Claude for each, pushes changes

Configuration

  • Runs daily at 10:00 AM UTC (1 hour after jira-agent at 9:00 AM UTC)
  • Processes up to 5 PRs per run (configurable via REVIEW_AGENT_MAX_PRS)
  • Uses same GitHub App tokens and Vertex AI authentication as jira-agent
  • Rate limits at 60 seconds between PRs

Files added

  • ci-operator/step-registry/hypershift/review-agent/ - Workflow and step definitions
  • ci-operator/config/openshift/hypershift/openshift-hypershift-main.yaml - Periodic job config

Relationship to Jira Agent

This is a companion workflow to the hypershift-jira-agent (PR #70147):

Aspect Jira Agent Review Agent
Purpose Create PRs from Jira issues Address review comments on PRs
Schedule Daily 9:00 AM UTC Daily 10:00 AM UTC
Input Jira issues with issue-for-agent label PRs created by Jira Agent
Output Draft PRs Updated PR branches
Command /jira-solve /utils:address-reviews

Jira

https://issues.redhat.com/browse/CNTRLPLANE-2561


🤖 Generated with Claude Code via /jira:solve [CNTRLPLANE-2561](https://issues.redhat.com//browse/CNTRLPLANE-2561)

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 16, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bryan-cox

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 16, 2026
@bryan-cox bryan-cox force-pushed the CNTRLPLANE-2561 branch 2 times, most recently from 3dabb78 to b1becbc Compare January 16, 2026 19:06
Configure the periodic-review-agent job to run daily at 10:00 AM UTC,
one hour after the jira-agent job. This allows time for the jira-agent
to create PRs and for reviewers to leave comments.

Configuration:
- Schedule: 0 10 * * * (daily at 10:00 AM UTC)
- Max PRs per run: 5
- Uses hypershift-review-agent workflow

The job uses the same claude-ai-helpers image and authentication
infrastructure as the jira-agent.

Ref: CNTRLPLANE-2561

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@bryan-cox
Copy link
Member Author

/pj-rehearse periodic-ci-openshift-hypershift-main-periodic-review-agent

@openshift-ci-robot
Copy link
Contributor

@bryan-cox: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Replace regex body matching with --author filter to identify PRs created
by the jira-solve GitHub App. This is more reliable than matching text
patterns in PR bodies.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@bryan-cox
Copy link
Member Author

/pj-rehearse periodic-ci-openshift-hypershift-main-periodic-review-agent

@openshift-ci-robot
Copy link
Contributor

@bryan-cox: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@bryan-cox
Copy link
Member Author

/pj-rehearse periodic-ci-openshift-hypershift-main-periodic-review-agent

@openshift-ci-robot
Copy link
Contributor

@bryan-cox: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Move the address-reviews.md file to /tmp/ instead of inside the
hypershift git working directory. This prevents git checkout from
removing the file when switching between PR branches.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@bryan-cox
Copy link
Member Author

/pj-rehearse periodic-ci-openshift-hypershift-main-periodic-review-agent

@openshift-ci-robot
Copy link
Contributor

@bryan-cox: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

…eview threads

The review-agent previously only detected inline code review threads via
GraphQL reviewThreads, missing general PR comments (issue comments) from
reviewers. This caused PRs like openshift#7533 to be skipped even when they had
unanswered reviewer feedback.

Changes:
- Add API call to check for general PR comments (issue comments)
- Update skip condition to process PR if either review threads OR comments exist
- Remove unused PENDING_COMMENTS variable that was never referenced
- Exclude bot's own comments to avoid self-triggering

Co-Authored-By: Claude Opus 4.5 <[email protected]>
@bryan-cox
Copy link
Member Author

/pj-rehearse periodic-ci-openshift-hypershift-main-periodic-review-agent

@openshift-ci-robot
Copy link
Contributor

@bryan-cox: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci-robot
Copy link
Contributor

[REHEARSALNOTIFIER]
@bryan-cox: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-hypershift-main-docs-preview openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aks openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aks-4-21 openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aks-override openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-4-21 openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-autonode openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-metrics openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-minimal openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-override openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-techpreview openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-aws-upgrade-hypershift-operator openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-azure-aks-ovn-conformance openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-conformance openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-kubevirt-aws-ovn openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-kubevirt-aws-ovn-reduced openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-kubevirt-azure-ovn openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-kubevirt-metal-conformance openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-openstack-aws openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-openstack-aws-conformance openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-openstack-aws-csi-cinder openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-openstack-aws-csi-manila openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-e2e-openstack-aws-nfv openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-images openshift/hypershift presubmit Ci-operator config changed
pull-ci-openshift-hypershift-main-okd-scos-e2e-aws-ovn openshift/hypershift presubmit Ci-operator config changed

A total of 34 jobs have been affected by this change. The above listing is non-exhaustive and limited to 25 jobs.

A full list of affected jobs can be found here

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 16, 2026

@bryan-cox: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants