feat(fleet-monitor): raise issues in the repo they pertain to - #331
Conversation
- Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughFleet monitor now discovers fleet-tracker issues org-wide via script API search, migrates misaligned issues from ChangesFleet Monitor: Org-wide Issue Discovery and Per-Repo Tracking
Sequence DiagramsequenceDiagram
participant script as fleet_monitor.sh
participant api as GitHub API
participant migration as Migration Step
participant target as Target Repository
script->>api: Search org-wide fleet-tracker issues
api-->>script: Open issues with [Fleet Monitor] titles
script->>script: Extract repo/workflow from titles
migration->>api: Paginate fleet-tracker issues in .github-private
api-->>migration: Issues with target repo info
migration->>api: transferIssue mutation
api->>target: Transfer issue to target repo
target-->>api: Issue transferred
api-->>migration: Transfer success
migration->>migration: Log migration completion
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
Pull request overview
This PR updates the Actions Fleet Monitor automation so that workflow-tracking issues are created (and migrated) into the repository where the failing workflow actually lives, instead of always landing in petry-projects/.github-private. This keeps tracking issues co-located with the code that needs fixing and resolves misfiled issues like #315.
Changes:
- Switch issue lookup in
fleet_monitor.shfrom repo-scoped listing to an org-wide issues search so report links resolve after issues are moved. - Add a workflow step to migrate existing misaligned
[Fleet Monitor]issues from.github-privateto their target repositories via GraphQLtransferIssue. - Update the tracking step to create/update issues in the target repo (using
GH_PAT_WORKFLOWS) and ensure required labels per target repo.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scripts/fleet_monitor.sh | Builds an org-wide lookup of open fleet-tracker issues for inline report linking. |
| .github/workflows/actions-fleet-monitor.yml | Migrates existing misaligned issues and updates cross-repo issue creation/updating to target repos using GH_PAT_WORKFLOWS. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/fleet_monitor.sh`:
- Around line 183-189: The search block using gh api "search/issues?..." writes
to issues_lookup_file but currently hides all errors with 2>/dev/null || true
and doesn't account for the Search API 1,000-result cap; update the script
around the gh api call (the search/issues invocation that filters
label:fleet-tracker and title "[Fleet Monitor] ") to (1) document the
1,000-result limitation near the invocation and (2) stop silently swallowing
failures — capture the gh api exit status and stderr instead of redirecting to
/dev/null and, on non-zero exit, emit a clear warning to stderr or the log that
the lookup failed (include the command context and suggest checking
auth/rate-limit) so operators know results may be incomplete while still
preserving the normal output to issues_lookup_file.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: d35370ff-32b9-425d-8181-703f01d5c1ff
📒 Files selected for processing (2)
.github/workflows/actions-fleet-monitor.ymlscripts/fleet_monitor.sh
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6d8c6cc147
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
- Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit ::warning:: annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
All actionable comments have been addressed in subsequent commits. CodeRabbit confirmed the fixes in their follow-up comment but is currently rate-limited and cannot re-review.
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* feat(fleet-monitor): raise issues in the repo they pertain to - Track high-failure workflows: create/update issues in the target repo (owner/repo parsed from item.repo) instead of .github-private. Switch token from github.token to GH_PAT_WORKFLOWS for cross-repo issues:write. Ensure labels once per target repo via a Set guard. - Migrate misaligned issues: new step before tracking runs a one-shot migration using GraphQL transferIssue to move any open fleet-tracker issues currently in .github-private to their correct target repos. createLabelsIfMissing copies labels automatically. Soft-fails per issue so a single inaccessible repo can't block the whole step. - Issue lookup (fleet_monitor.sh step 2b): switch from querying only GITHUB_REPOSITORY to an org-wide search/issues query so the report's inline issue links resolve correctly after migration. Closes #315 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address Copilot review comments - fleet_monitor.sh: add is:issue to org-wide search query to exclude PRs with the fleet-tracker label from the issue lookup table - actions-fleet-monitor.yml: wrap per-item tracking loop in try/catch so one inaccessible or missing target repo can't block issue tracking for all other high-failure workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(ci): resolve yamllint errors in issue-triage-runner.yml - Replace '--only-binary :all:' with '--only-binary=":all:"' to avoid yamllint misinterpreting the bare ':all:' as a YAML mapping value - Remove extra alignment spaces in env variable keys (colons rule) - Replace heredoc Python snippet with python3 -c one-liner to prevent non-indented heredoc content from breaking YAML block scalar parsing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix(fleet-monitor): address CodeRabbit and ChatGPT Codex review comments - fleet_monitor.sh: replace silent '2>/dev/null || true' on search/issues with explicit exit-status check; emit :⚠️ : annotation when the lookup fails so operators know inline links may be incomplete; add comment documenting the Search API 1,000-result cap - actions-fleet-monitor.yml: expand createLabel error handling from 'throw on non-422' to explicitly handle 403 (no write access) and 410 (issues disabled) with targeted core.warning messages instead of propagating to the outer catch; unexpected errors still re-throw Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>



Problem
Fleet Monitor creates per-workflow tracking issues in
.github-privateregardless of which repo the failing workflow lives in. This means issues like #315 (aboutbroodly/terraform.yml) land in the wrong repo, disconnected from the code that needs fixing.Changes
scripts/fleet_monitor.sh— issue lookup (step 2b)Switch from querying only
GITHUB_REPOSITORY(.github-private) to an org-widesearch/issuesquery so the report's inline issue links resolve correctly after issues move to their target repos..github/workflows/actions-fleet-monitor.ymlNew step: "Migrate misaligned fleet-tracker issues" (runs before tracking)
fleet-trackerissues in.github-privatewith[Fleet Monitor]titlestransferIssue(createLabelsIfMissing: truecopies labels automatically)Updated step: "Track high-failure workflows as Issues"
owner/repoparsed fromitem.repo) instead of.github-privategithub.token(only hasissues:writeon.github-private) toGH_PAT_WORKFLOWSfor cross-repoissues:writeSetguard (avoids redundant API calls)Closes #315
Summary by CodeRabbit