Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Integration][GitLab] - Fix Infinite Loop When Syncing Folders (#1061)
# Description What - The Gitlab folder kind had a bug where it get stuck in infinite loop, and the same data get returned for every page index. Upon investigation, it was discovered that the pagination parameters, especially the [keyset pagination](https://docs.gitlab.com/ee/api/rest/index.html#supported-resources) was behind this error since the docs does not provide options for controlling the pagination on the repository tree endpoint. Why - How - This was resolved by using the standard offset pagination where we pass the page index and page size to the repository tree API ## Type of change Please leave one option from the following and delete the rest: - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] New Integration (non-breaking change which adds a new integration) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Non-breaking change (fix of existing functionality that will not change current behavior) - [ ] Documentation (added/updated documentation) <h4> All tests should be run against the port production environment(using a testing org). </h4> ### Core testing checklist - [ ] Integration able to create all default resources from scratch - [ ] Resync finishes successfully - [ ] Resync able to create entities - [ ] Resync able to update entities - [ ] Resync able to detect and delete entities - [ ] Scheduled resync able to abort existing resync and start a new one - [ ] Tested with at least 2 integrations from scratch - [ ] Tested with Kafka and Polling event listeners - [ ] Tested deletion of entities that don't pass the selector ### Integration testing checklist - [ ] Integration able to create all default resources from scratch - [ ] Resync able to create entities - [ ] Resync able to update entities - [ ] Resync able to detect and delete entities - [ ] Resync finishes successfully - [ ] If new resource kind is added or updated in the integration, add example raw data, mapping and expected result to the `examples` folder in the integration directory. - [ ] If resource kind is updated, run the integration with the example data and check if the expected result is achieved - [ ] If new resource kind is added or updated, validate that live-events for that resource are working as expected - [ ] Docs PR link [here](#) ### Preflight checklist - [ ] Handled rate limiting - [ ] Handled pagination - [ ] Implemented the code in async - [ ] Support Multi account ## Screenshots <img width="1136" alt="Screenshot 2024-10-02 at 4 52 11 PM" src="https://github.com/user-attachments/assets/f19a2f9f-8d12-4289-865b-8fdd39a1fcee"> <img width="1136" alt="Screenshot 2024-10-02 at 4 52 05 PM" src="https://github.com/user-attachments/assets/696bb1bf-41ca-474a-beb9-744df2dd6b4d"> ## API Documentation Provide links to the API documentation used for this integration.
- Loading branch information