Skip to content

Conversation

@bryan-cox
Copy link
Member

Summary

  • Makes the enterprise contract log file optional in the /update-konflux-tasks skill
  • When no log file is provided, the skill uses update_trusted_task_bundles.py --dry-run --json to automatically detect outdated Tekton task bundles
  • Enables automated periodic checking for task bundle updates without requiring an enterprise contract verification log

Test plan

  • Verify /update-konflux-tasks works with a log file (existing behavior)
  • Verify /update-konflux-tasks works without a log file (new behavior)
  • Verify error handling when PyYAML is not installed

🤖 Generated with Claude Code

Makes the enterprise contract log file optional. When not provided,
the skill uses update_trusted_task_bundles.py to detect updates.

This enables automated periodic checking for task bundle updates.

JIRA: CNTRLPLANE-2580
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 27, 2026

Walkthrough

The .claude/commands/update-konflux-tasks.md documentation is extended to describe dual operational modes: updating from enterprise contract logs and automatic update detection. It includes refined usage examples, implementation details, and workflow descriptions covering both execution paths.

Changes

Cohort / File(s) Summary
Documentation Update
.claude/commands/update-konflux-tasks.md
Extended command documentation to describe two execution modes: (1) updates from enterprise contract logs and (2) automatic detection without logs via update_trusted_task_bundles.py. Added usage examples, implementation details, error handling (PyYAML requirement), optional argument clarifications, and expanded workflow covering detection, mapping, migration checks, and multi-file pipeline updates. (+21/-9)

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes


Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot added the area/ai Indicates the PR includes changes related to AI - Claude agents, Cursor rules, etc. label Jan 27, 2026
@openshift-ci openshift-ci bot requested review from devguyio and jparrill January 27, 2026 14:06
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 27, 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 approved Indicates a PR has been approved by an approver from all required OWNERS files. and removed do-not-merge/needs-area labels Jan 27, 2026
@bryan-cox bryan-cox changed the title feat(claude): update /update-konflux-tasks to work without log file CNTRLPLANE-2580: feat(claude): update /update-konflux-tasks to work without log file Jan 27, 2026
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jan 27, 2026

@bryan-cox: This pull request references CNTRLPLANE-2580 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 story to target the "4.22.0" version, but no target version was set.

Details

In response to this:

Summary

  • Makes the enterprise contract log file optional in the /update-konflux-tasks skill
  • When no log file is provided, the skill uses update_trusted_task_bundles.py --dry-run --json to automatically detect outdated Tekton task bundles
  • Enables automated periodic checking for task bundle updates without requiring an enterprise contract verification log

Test plan

  • Verify /update-konflux-tasks works with a log file (existing behavior)
  • Verify /update-konflux-tasks works without a log file (new behavior)
  • Verify error handling when PyYAML is not installed

🤖 Generated with Claude Code

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-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 27, 2026
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: 2

🤖 Fix all issues with AI agents
In @.claude/commands/update-konflux-tasks.md:
- Line 122: Replace the incorrect lowercase pip package name `pyyaml` with the
correct `PyYAML` where the requirement for running
update_trusted_task_bundles.py without a log file is documented; search for the
string `pyyaml` in the .claude commands content (reference: mention of
update_trusted_task_bundles.py) and update it to `PyYAML` so pip install
instructions and requirements match the real package name.
- Line 107: Change the pip install instruction for PyYAML to the correct package
name: replace the string "pip install pyyaml" with "pip install PyYAML" in the
documentation where the dependency for update_trusted_task_bundles.py is
mentioned so readers install the accurate package; ensure the displayed command
uses exact capitalization "PyYAML".

- If skopeo is not installed, provide installation instructions
- If jq is not installed, provide installation instructions
- If yq is not installed, provide installation instructions
- If PyYAML is not installed (required for update_trusted_task_bundles.py), provide installation instructions: `pip install pyyaml`
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Correct the PyYAML package name for pip installation.

The pip package name should be PyYAML (with capital letters), not pyyaml.

📝 Proposed fix for package name
-- If PyYAML is not installed (required for update_trusted_task_bundles.py), provide installation instructions: `pip install pyyaml`
+- If PyYAML is not installed (required for update_trusted_task_bundles.py), provide installation instructions: `pip install PyYAML`
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- If PyYAML is not installed (required for update_trusted_task_bundles.py), provide installation instructions: `pip install pyyaml`
- If PyYAML is not installed (required for update_trusted_task_bundles.py), provide installation instructions: `pip install PyYAML`
🤖 Prompt for AI Agents
In @.claude/commands/update-konflux-tasks.md at line 107, Change the pip install
instruction for PyYAML to the correct package name: replace the string "pip
install pyyaml" with "pip install PyYAML" in the documentation where the
dependency for update_trusted_task_bundles.py is mentioned so readers install
the accurate package; ensure the displayed command uses exact capitalization
"PyYAML".

- `skopeo` must be installed (for container image inspection)
- `jq` must be installed (for JSON parsing)
- `yq` must be installed (for YAML parsing and checking multi-platform builds)
- `pyyaml` Python package must be installed when running without a log file (for update_trusted_task_bundles.py)
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Correct the PyYAML package name in requirements.

The pip package name should be PyYAML (with capital letters), not pyyaml, to match the correct pip installation command.

📝 Proposed fix for package name
-- `pyyaml` Python package must be installed when running without a log file (for update_trusted_task_bundles.py)
+- `PyYAML` Python package must be installed when running without a log file (for update_trusted_task_bundles.py)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- `pyyaml` Python package must be installed when running without a log file (for update_trusted_task_bundles.py)
- `PyYAML` Python package must be installed when running without a log file (for update_trusted_task_bundles.py)
🤖 Prompt for AI Agents
In @.claude/commands/update-konflux-tasks.md at line 122, Replace the incorrect
lowercase pip package name `pyyaml` with the correct `PyYAML` where the
requirement for running update_trusted_task_bundles.py without a log file is
documented; search for the string `pyyaml` in the .claude commands content
(reference: mention of update_trusted_task_bundles.py) and update it to `PyYAML`
so pip install instructions and requirements match the real package name.

@bryan-cox
Copy link
Member Author

/verified bypass

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jan 27, 2026
@openshift-ci-robot
Copy link

@bryan-cox: The verified label has been added.

Details

In response to this:

/verified bypass

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.

Copy link
Contributor

@jparrill jparrill left a comment

Choose a reason for hiding this comment

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

/lgtm
The change looks good, thing is, last time I used the skill it didn't work properly. I think it's matter of work on it back and forth until it works in one-shot :)

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jan 28, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jan 28, 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.

@openshift-merge-bot openshift-merge-bot bot merged commit e406620 into openshift:main Jan 28, 2026
9 checks passed
@bryan-cox bryan-cox deleted the CNTRLPLANE-2580-skill-update branch January 28, 2026 17:38
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. area/ai Indicates the PR includes changes related to AI - Claude agents, Cursor rules, etc. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants