Skip to content

Conversation

@gounthar
Copy link
Owner

@gounthar gounthar commented Aug 10, 2025

This PR contains automatically updated PR statistics data. Generated by GitHub Actions.

Summary by CodeRabbit

  • Chores
    • Reorganized and corrected metadata for JUnit5 migration candidate pull requests, ensuring accurate association of URLs, repositories, and descriptions.
    • Updated and reordered entries in related documentation files for improved clarity and consistency.
    • Made minor textual corrections to PR descriptions.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 10, 2025

Walkthrough

This change reorganizes and corrects metadata entries in two files that track JUnit5 migration pull requests. The updates involve reordering entries, correcting URLs, repository names, and timestamps, and making minor textual corrections. No code logic, functional behavior, or exported entities are affected; all modifications are limited to data structure and ordering.

Changes

Cohort / File(s) Change Summary
JUnit5 Candidates JSON Metadata
data/junit5/junit5_candidates.json
Reordered and corrected PR entries, fixed repository names, URLs, and timestamps, and clarified descriptions. No functional or logic changes.
JUnit5 Candidate PRs List
junit5_candidate_prs.txt
Updated timestamp, reordered PR entries, adjusted comment placement, and changed grouping without altering URLs or descriptions.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

A rabbit hopped through fields of JSON rows,
Tidying up the order where each PR goes.
URLs aligned, descriptions now neat,
Metadata carrots—a meticulous treat!
No code was changed, just data made right,
Now JUnit5 migrations are tracked in plain sight.
🥕✨

Note

🔌 MCP (Model Context Protocol) integration is now available in Early Access!

Pro users can now connect to remote MCP servers under the Integrations page to get reviews and chat conversations that understand additional development context.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch auto-update-pr-data

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Summary of Changes

Hello @gounthar, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request is an automated daily update to the repository's data collection, specifically focusing on JUnit5 migration pull request statistics. My primary purpose in this PR is to synchronize the junit5_candidates.json file with the latest information, which involves reordering existing entries, updating their details, and adding new relevant entries. Additionally, the junit5_candidate_prs.txt file's timestamp has been updated to reflect this latest data collection.

Highlights

  • Automated Data Update: This pull request is an automated daily update to the collection of JUnit5 migration PR statistics, ensuring the data remains current.
  • Data Reorganization: The primary change involves reordering existing entries within the junit5_candidates.json file to maintain an updated and consistent sequence.
  • Content Refinements: Several entries in the JSON data have received minor updates to their details, such as body descriptions and associated labels, reflecting the latest information.
  • New Entry Inclusion: A new entry related to raising default permissions for JUnit5JenkinsRule has been incorporated into the dataset, expanding the tracked PRs.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments or fill out our survey to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This PR appears to be an automated data update. However, the changes introduce a lot of noise by reordering entries in both the JSON and text files. This reordering seems to be due to an unstable sorting mechanism in the data collection script. For instance, some entries are sorted by date ascending, while others are sorted descending, and some swaps don't follow any clear sorting logic. This makes it difficult to review actual data changes, such as new PRs being added. I recommend fixing the generation script to use a stable sort, for example, by repository name and then PR number, to ensure consistent output and cleaner diffs.

Comment on lines 605 to 624
{
"title": "Migrate tests to JUnit5",
"url": "https://github.com/jenkinsci/google-kubernetes-engine-plugin/pull/410",
"repository": "jenkinsci/google-kubernetes-engine-plugin",
"url": "https://github.com/jenkinsci/google-oauth-plugin/pull/244",
"repository": "jenkinsci/google-oauth-plugin",
"state": "OPEN",
"author": "strangelookingnerd",
"labels": null,
"body": "This PR aims to migrate all tests to JUnit5. Changes include:\n\nMigrate annotations and imports\nMigrate assertions\nRemove public visibility for test classes and methods\nMinor clean up\n\nI am well aware that this is a quite large changeset however I hope that there is still interest in this PR and it will be reviewed.\nIf there are any questions, please do not hesitate to ping me.\n\n Make sure you are requesting to pull a topic/feature/bugfix branch (right side) and not your master branch!\n Ensure that the pull request title represents the desired changelog entry\n Please describe what you did\n Link to relevant issues in GitHub\n Link to relevant pull requests, esp. upstream and downstream changes\n Ensure you have provided tests - that demonstrates feature works or fixes the issue",
"createdAt": "2025-03-11T11:45:51Z"
"createdAt": "2025-03-11T11:13:06Z"
},
{
"title": "Migrate tests to JUnit5",
"url": "https://github.com/jenkinsci/google-oauth-plugin/pull/244",
"repository": "jenkinsci/google-oauth-plugin",
"url": "https://github.com/jenkinsci/google-kubernetes-engine-plugin/pull/410",
"repository": "jenkinsci/google-kubernetes-engine-plugin",
"state": "OPEN",
"author": "strangelookingnerd",
"labels": null,
"body": "This PR aims to migrate all tests to JUnit5. Changes include:\n\nMigrate annotations and imports\nMigrate assertions\nRemove public visibility for test classes and methods\nMinor clean up\n\nI am well aware that this is a quite large changeset however I hope that there is still interest in this PR and it will be reviewed.\nIf there are any questions, please do not hesitate to ping me.\n\n Make sure you are requesting to pull a topic/feature/bugfix branch (right side) and not your master branch!\n Ensure that the pull request title represents the desired changelog entry\n Please describe what you did\n Link to relevant issues in GitHub\n Link to relevant pull requests, esp. upstream and downstream changes\n Ensure you have provided tests - that demonstrates feature works or fixes the issue",
"createdAt": "2025-03-11T11:13:06Z"
"createdAt": "2025-03-11T11:45:51Z"
},
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The sorting of pull request entries appears to be unstable. In this block, google-oauth-plugin and google-kubernetes-engine-plugin have been swapped to be in ascending order of their createdAt timestamp. However, in other parts of the file, the sorting is descending or doesn't seem to follow a clear date-based order. This inconsistency creates unnecessary churn in the file. It would be best to enforce a consistent, stable sorting order for all entries, for example, by repository and then url, to make diffs cleaner and more meaningful.

Comment on lines 124 to +129
# jenkinsci/ws-cleanup-plugin - Migrate tests to JUnit5 (OPEN)
https://github.com/jenkinsci/ws-cleanup-plugin/pull/230

# jenkinsci/docker-fixtures - Add `DockerExtension` to support `DockerContainer` for JUnit5 (OPEN)
https://github.com/jenkinsci/docker-fixtures/pull/122

Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The order of PRs in this file seems to be unstable between generations. For example, in this change, ws-cleanup-plugin and docker-fixtures are swapped. While this particular swap seems to sort them by creation date, other changes in this file and the corresponding JSON file show inconsistent sorting logic (some ascending, some descending, some not by date at all). Using a stable sort (e.g., by repository name then PR URL) would make these automated updates much cleaner and easier to verify.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (12)
data/junit5/junit5_candidates.json (11)

515-521: Double-check state and createdAt with live GitHub data; keep labels type-stable.
The entry looks correct, but please:

  • Verify state/createdAt against the API (see script above).
  • Use [] for labels if none.
-      "labels": null,
+      "labels": [],

534-542: Normalize labels to [] and capture PR number.
For consistency and easier downstream joins:

       "author": "strangelookingnerd",
-      "labels": null,
+      "labels": [],
+      "number": 17,

Also validate state/createdAt with the provided script.


607-614: Keep labels array type and add PR number; verify state recency.
Use [] (not null) for labels; add number for convenience. Confirm the state is current.

       "author": "strangelookingnerd",
-      "labels": null,
+      "labels": [],
+      "number": 244,

617-623: Same normalization as above (labels [], number).
And please verify state/createdAt.

       "author": "strangelookingnerd",
-      "labels": null,
+      "labels": [],
+      "number": 410,

1305-1313: Good to include; please normalize labels and record PR number.
Entry LGTM content-wise; keep labels type stable and add number.

       "author": "strangelookingnerd",
-      "labels": null,
+      "labels": [],
+      "number": 320,

2123-2131: Preserve original body, but normalize labels nullability and add number.

  • Don’t “fix” typos in body (it mirrors PR), but keep schema types consistent.
  • Add PR number for easier joins.
-      "labels": [
+      "labels": [
         "tests"
       ],
-      "body": "This PR aims to migrate all tests to JUnit5. Changes include:
+      "body": "This PR aims to migrate all tests to JUnit5. Changes include:
+      "number": 345,

2159-2167: Labels and number; verify labels actually exist upstream.

  • Keep labels array as-is if they exist in the repo; otherwise consider omitting or adding a separate tags field.
  • Add PR number.
       "labels": [
         "chore"
       ],
+      "number": 104,

2171-2181: Multi-label entry: looks fine; add PR number for consistency.

       "labels": [
         "developer",
         "tests",
         "java"
       ],
+      "number": 5,

4004-4014: Include a category/type to distinguish infra/library changes from plugin migrations.
This is an infra/library PR (jenkins-test-harness). Consider adding a type field to help consumers filter:

  • type: "infra_change" vs "plugin_migration" vs "dependency_update"
       "repository": "jenkinsci/jenkins-test-harness",
       "state": "MERGED",
       "author": "strangelookingnerd",
+      "type": "infra_change",

Also add number 910 if you adopt numbers consistently.


4417-4426: Normalize bot author and add type/category.
GitHub typically reports the login as dependabot[bot]. Consider normalizing bot authors and adding a type.

-      "author": "dependabot",
+      "author": "dependabot[bot]",
+      "type": "dependency_update",
+      "number": 4377,

4429-4438: Same normalization for Dependabot entry; add number and type.

-      "author": "dependabot",
+      "author": "dependabot[bot]",
+      "type": "dependency_update",
+      "number": 4746,
junit5_candidate_prs.txt (1)

1072-1074: Non-JUnit migration entry kept — confirm inclusion policy
This dependency bump (not a JUnit5 migration) is fine to list if your policy is to log broadly. This aligns with prior guidance to not filter by narrow keywords.

Note: Using the previously shared learning about comprehensive logging from earlier discussions.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a4432ac and dbee8a0.

📒 Files selected for processing (2)
  • data/junit5/junit5_candidates.json (10 hunks)
  • junit5_candidate_prs.txt (8 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-03-07T16:15:13.008Z
Learnt from: gounthar
PR: gounthar/alpha-omega-stats#0
File: :0-0
Timestamp: 2025-03-07T16:15:13.008Z
Learning: The jenkins-pr-collector should log all PRs found, not just the ones with specific strings like "odernizer" in the body.

Applied to files:

  • junit5_candidate_prs.txt
  • data/junit5/junit5_candidates.json
📚 Learning: 2025-03-07T16:15:13.008Z
Learnt from: gounthar
PR: gounthar/alpha-omega-stats#0
File: :0-0
Timestamp: 2025-03-07T16:15:13.008Z
Learning: For the jenkins-pr-collector tool, all PRs should be logged, not just those with specific keywords like "odernizer" or "recipe" in the body text.

Applied to files:

  • junit5_candidate_prs.txt
  • data/junit5/junit5_candidates.json
🔇 Additional comments (9)
data/junit5/junit5_candidates.json (1)

1282-1288: Separate state and merge metadata in JSON schema
Currently each entry uses "state": "MERGED" (or "OPEN"). GitHub’s API models this as a boolean merge flag plus a state, so consider refactoring your JSON to:

  • "state": "OPEN" or "CLOSED"
  • "merged": true (or include "mergedAt": "<timestamp>" for the merge time)

This avoids ambiguity between a PR that was merely closed versus one that was actually merged.

Also consider adding the PR number for easier parsing:

- "state": "MERGED",
+ "state": "CLOSED",
+ "merged": true,
+ "mergedAt": "2025-05-08T12:34:56Z",  ← fetch from GitHub API
...
+ "number": 27,                         ← parsed from the URL

• Update the JSON schema or type definitions accordingly
• Bulk-migrate existing entries in data/junit5/junit5_candidates.json
• Adjust any code that reads/parses this file to handle the new fields

Please verify the impact on downstream consumers—including schema validation and parsing logic—and ensure all entries are updated consistently.

junit5_candidate_prs.txt (8)

157-158: Entry move/cleanup LGTM
URL and status read cleanly; no content issues spotted.


163-165: Entry move/cleanup LGTM
Consistent formatting and status; fine to keep.


187-189: Entry move/cleanup LGTM
No issues with URL or status.


367-369: Entry move/cleanup LGTM
Merged status and link are consistent.


373-375: Entry move/cleanup LGTM
Formatting and metadata look good.


586-588: Entry move/cleanup LGTM
No concerns on URL/status.


595-597: Entry move/cleanup LGTM
Looks consistent with surrounding MERGED items.


1174-1176: Entry move/cleanup LGTM
Reordered BOM entry looks fine; consistent with MERGED grouping.

Comment on lines +413 to +422
{
"title": "Add `DockerExtension` to support `DockerContainer` for JUnit5",
"url": "https://github.com/jenkinsci/docker-fixtures/pull/122",
"repository": "jenkinsci/docker-fixtures",
"state": "OPEN",
"author": "strangelookingnerd",
"labels": null,
"body": "Adds a JUnit 5-compatible Extension that provides similar capabilities as DockerRule and DockerClassRule.\nThe main difference from the JUnit 4 counterparts is that the Extension will not only build the images, but also start them during the beforeEach or beforeAll phase, as opposed to starting them on-demand. While it would be possible to provide that on-demand capability, I personally do not see the reason for it and would argue that it somewhat defeats the purpose of a Rule/Extension.\nTo allow the container to be used per test (like a Rule) as well as per class (like a ClassRule), the Extension can be registered either as a static or an instance variable.\nTesting done\nAdded tests to cover the different variants (static vs. instance registration) of the extension. I also did some manual testing for things that can not really be covered by unit tests.\nCopied existing tests for DockerContainer implementations to verify these work with JUnit 5.\nSubmitter checklist\n\n Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!\n Ensure that the pull request title represents the desired changelog entry\n Please describe what you did\n Link to relevant issues in GitHub or Jira\n Link to relevant pull requests, esp. upstream and downstream changes\n Ensure you have provided tests that demonstrate the feature works or the issue is fixed",
"createdAt": "2025-07-03T07:57:56Z"
},
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Schema consistency: prefer empty array over null for labels; add PR number for fast joins.

  • Use [] instead of null to keep the labels field type-stable across entries.
  • Consider adding a number field parsed from the URL to simplify downstream processing.

Apply within this object:

       "author": "strangelookingnerd",
-      "labels": null,
+      "labels": [],
+      "number": 122,

To verify current metadata against GitHub, you can run:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Requires GitHub CLI (gh). Prints a compact JSON for manual diffing.
check() {
  local repo="$1" num="$2"
  gh pr view "$num" -R "$repo" --json number,title,author,createdAt,state,mergedAt,closedAt,labels,url \
    | jq '{repo:"'"$repo"'",number,title,url,author:(.author.login),createdAt,state,mergedAt,closedAt,labels:[.labels[].name]}'
}

check jenkinsci/docker-fixtures 122
check jenkinsci/build-failure-analyzer-plugin 205
check jenkinsci/shared-library-version-override-plugin 17
check jenkinsci/google-oauth-plugin 244
check jenkinsci/google-kubernetes-engine-plugin 410
check jenkinsci/provar-automation-plugin 27
check jenkinsci/configurationslicing-plugin 320
check jenkinsci/mailer-plugin 345
check jenkinsci/jobcacher-artifactory-storage-plugin 89
check jenkinsci/pipeline-agent-build-history-plugin 104
check jenkinsci/ibmi-steps-plugin 5
check jenkinsci/jenkins-test-harness 910
check jenkinsci/bom 4377
check jenkinsci/bom 4746

Length of output: 10487


Ensure labels is an empty array and include the PR number

In data/junit5/junit5_candidates.json (around lines 413–422), apply:

       "author": "strangelookingnerd",
-      "labels": null,
+      "labels": [],
+      "number": 122,

You can verify this single entry with:

gh pr view 122 -R jenkinsci/docker-fixtures --json number,labels
🤖 Prompt for AI Agents
In data/junit5/junit5_candidates.json around lines 413 to 422, update the
"labels" field from null to an empty array [] and add a new field "number" with
the value 122 extracted from the PR URL. This ensures consistent metadata
formatting and facilitates easier downstream processing.

@@ -1,4 +1,4 @@
# JUnit 5 migration PR candidates found on 2025-08-09 01:39:26
# JUnit 5 migration PR candidates found on 2025-08-10 01:47:28
Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Header timestamp updated — verify source-of-truth and format consistency
Confirm this UTC timestamp is generated from the same source as your JSON metadata to avoid drift. Prefer ISO-8601 with timezone for consistency across files.

You can sanity-check the header format quickly:


🏁 Script executed:

#!/bin/bash
# Validate header timestamp format: "YYYY-MM-DD HH:MM:SS"
grep -m1 -E '^# JUnit 5 migration PR candidates found on [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$' junit5_candidate_prs.txt \
  >/dev/null && echo "Header timestamp format OK" || echo "Header timestamp format NOT OK"

Length of output: 202


Header timestamp format validated — ensure source-of-truth and timezone consistency

  • Timestamp format in junit5_candidate_prs.txt (line 1) is correct (YYYY-MM-DD HH:MM:SS).
  • Confirm this UTC value is sourced directly from your JSON metadata to prevent drift.
  • For wider consistency, consider switching to full ISO-8601 with timezone (e.g., 2025-08-10T01:47:28Z).
🤖 Prompt for AI Agents
In junit5_candidate_prs.txt at line 1, the timestamp format is correct but to
ensure source-of-truth and timezone consistency, verify that this UTC timestamp
is directly sourced from your JSON metadata to avoid drift. Additionally, update
the timestamp format to full ISO-8601 with timezone by changing it to the format
2025-08-10T01:47:28Z for wider consistency.

Comment on lines +127 to +129
# jenkinsci/docker-fixtures - Add `DockerExtension` to support `DockerContainer` for JUnit5 (OPEN)
https://github.com/jenkinsci/docker-fixtures/pull/122

Copy link
Contributor

Choose a reason for hiding this comment

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

💡 Verification agent

🧩 Analysis chain

Reorder looks fine — suggest stable sorting to reduce diff churn
Within the OPEN section, consider sorting entries by repo name then PR number. This minimizes daily reorder noise.

To validate statuses of the touched URLs match the label in parentheses, run:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# url|expected_status
entries=(
  "https://github.com/jenkinsci/docker-fixtures/pull/122|OPEN"
  "https://github.com/jenkinsci/build-failure-analyzer-plugin/pull/205|OPEN"
  "https://github.com/jenkinsci/shared-library-version-override-plugin/pull/17|OPEN"
  "https://github.com/jenkinsci/google-kubernetes-engine-plugin/pull/410|OPEN"
  "https://github.com/jenkinsci/provar-automation-plugin/pull/27|MERGED"
  "https://github.com/jenkinsci/configurationslicing-plugin/pull/320|MERGED"
  "https://github.com/jenkinsci/jobcacher-artifactory-storage-plugin/pull/89|MERGED"
  "https://github.com/jenkinsci/ibmi-steps-plugin/pull/5|MERGED"
  "https://github.com/jenkinsci/opentelemetry-plugin/pull/1108|MERGED"
  "https://github.com/jenkinsci/bom/pull/4746|MERGED"
)

need_jq=$(command -v jq || true)
if [[ -z "$need_jq" ]]; then
  echo "jq is required" >&2
  exit 1
fi

fail=0
for e in "${entries[@]}"; do
  url="${e%%|*}"
  expected="${e##*|}"
  owner_repo=$(echo "$url" | sed -E 's#https://github.com/([^/]+/[^/]+)/pull/([0-9]+)#\1#')
  number=$(echo "$url" | sed -E 's#https://github.com/[^/]+/[^/]+/pull/([0-9]+)#\1#')
  api="https://api.github.com/repos/${owner_repo}/pulls/${number}"

  json=$(curl -s "$api")
  state=$(echo "$json" | jq -r '.state') # open/closed
  merged=$(echo "$json" | jq -r '.merged_at != null')

  actual="CLOSED"
  if [[ "$state" == "open" ]]; then
    actual="OPEN"
  elif [[ "$merged" == "true" ]]; then
    actual="MERGED"
  fi

  if [[ "$actual" != "$expected" ]]; then
    echo "STATUS MISMATCH: $url expected=$expected actual=$actual"
    fail=1
  else
    echo "OK: $url -> $actual"
  fi
done

exit $fail

Length of output: 273928


Suggest stable sorting for OPEN section

I ran the status‐verification script against each GitHub PR URL and confirmed all labels match their actual state. To reduce daily churn, please update junit5_candidate_prs.txt so that within the OPEN section entries are stably sorted by repository name, then by PR number.

🤖 Prompt for AI Agents
In junit5_candidate_prs.txt around lines 127 to 129, the entries in the OPEN
section are not stably sorted. To fix this, reorder the entries within the OPEN
section so they are sorted first by repository name alphabetically and then by
PR number numerically. This will reduce daily churn and keep the list
consistent.

@gounthar gounthar merged commit d7b899e into main Aug 10, 2025
7 checks passed
@gounthar gounthar deleted the auto-update-pr-data branch August 10, 2025 07:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant