Tags: openshift-pipelines/pipelines-as-code
Tags
fix(gitlab): ensure GetFiles and CreateComment pages over API results Gitlab's commit-diff API defaults to return 20 files per page. Without paging through the files, cel funcs like `files.all` and `pathChanged` will only match 20 files on push events. This commits also adds paging logic when listing commits in the gitlab CreateComment function. Previously, only the first 100 notes on a MR were compared when finding the note to update. Paging through the list of merge request notes ensures that if a MR has more than 100 comments we will still update the appropriate comment. This commit also creates default gitlab paging options which are used by all gitlab API calls that paginate through the response. Co-authored-by: Cursor <[email protected]>
feat: Require SHA for /ok-to-test comments Introduced a new configuration option `require-ok-to-test-sha` that enforces the use of a commit SHA when using the `/ok-to-test` command. This helps to mitigate race conditions where a malicious actor could push a commit after the `/ok-to-test` comment is made but before the CI runs. The regular expression for parsing `/ok-to-test` comments was updated to capture an optional SHA. New tests were added to cover various scenarios, including valid and invalid SHAs, and the absence of a SHA when required. The `ParsePayload` function was modified to handle this new validation logic, and appropriate error messages were created for cases where the SHA is missing or does not match the pull request's HEAD SHA. Co-authored-by: Cursor Signed-off-by: Chmouel Boudjnah <[email protected]>
fix: crash on gl provider when token is invalid Moved the assignment of `v.run`, `v.eventEmitter`, `v.repo`, and `v.triggerEvent` to occur before the potential early return in the `SetClient` method. This fix the issue the fields being nil when they are accessed later for event emission and crash the controller. Jira: https://issues.redhat.com/browse/SRVKP-8910 Signed-off-by: Chmouel Boudjnah <[email protected]>
fix: crash on gl provider when token is invalid Moved the assignment of `v.run`, `v.eventEmitter`, `v.repo`, and `v.triggerEvent` to occur before the potential early return in the `SetClient` method. This fix the issue the fields being nil when they are accessed later for event emission and crash the controller. Jira: https://issues.redhat.com/browse/SRVKP-8910 Signed-off-by: Chmouel Boudjnah <[email protected]>
feat: Introduce AI/LLM-powered pipeline analysis
Introduced an AI/LLM-powered analysis feature to automatically
diagnose failed pipeline runs. This helps developers by providing root
cause analysis and suggested fixes directly in pull requests, reducing
debugging time.
The feature is configured in the Repository CRD under `spec.settings.ai`.
Key capabilities include:
- Support for OpenAI and Google Gemini providers, with configurable
models per analysis role.
- Flexible analysis scenarios ("roles") with custom prompts and
conditional triggers via CEL expressions.
- Rich analysis context, including detailed commit information, PR
metadata, error messages, and container logs.
- Output of analysis results as comments on pull requests.
To support this, Git provider integrations were enhanced to fetch more
comprehensive commit details. A fake LLM server (`nonoai`) was also
added to enable robust and cost-effective E2E testing.
Co-authored-by: Claude <[email protected]>
Co-authored-by: Gemini <[email protected]>
Signed-off-by: Chmouel Boudjnah <[email protected]>
PreviousNext