[Integration][Gitlab-v2] Support resolving file://
references in file content
#1562
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
What
This pull request introduces support for resolving
file://
references in file content , enabling dynamic fetching of referenced file content during parsing.Why
Resolving
file://
references allows for more flexible configuration files, where content can be modularized across multiple files. This improves maintainability and supports complex workflows in GitLab projects, addressing user needs for dynamic content inclusion.How
resolve_file_references
function ingitlab/helpers/utils.py
to recursively processfile://
references and fetch their content.GitLabClient._process_file
ingitlab/clients/gitlab_client.py
to integrate reference resolution after parsing file content.FileClientProtocol
inutils.py
for type-safe client interactions.tests/clients/test_base_client.py
to verify the resolution offile://
references in parsed YAML content.Type of change
Please leave one option from the following and delete the rest:
All tests should be run against the port production environment(using a testing org).
Core testing checklist
Integration testing checklist
examples
folder in the integration directory.Preflight checklist
Screenshots
Include screenshots from your environment showing how the resources of the integration will look.
API Documentation
Provide links to the API documentation used for this integration.