Skip to content

Conversation

kashodiya
Copy link
Contributor

This PR adds support for AWS CodeCommit as a provider in OpenHands.

Features

  • New CODECOMMIT provider type in ProviderType enum
  • CodeCommit service implementation with all required mixins following the same pattern as GitHub, GitLab, and Bitbucket
  • Updates to provider handler and token validation
  • Support for AWS access key and secret key authentication
  • Region-specific URL handling for CodeCommit repositories

Implementation Details

  • Uses boto3 for AWS API calls instead of direct HTTP requests
  • Added a secret field to ProviderToken class to store AWS secret access key
  • Updated validate_provider_token to handle CodeCommit credentials
  • Added CodeCommit to PROVIDER_DOMAINS dictionary
  • Updated get_provider_terms to include CodeCommit provider terms
  • Enhanced _is_repository_url method to handle CodeCommit URLs

Testing

The implementation follows the same patterns as the existing integrations and should work with AWS CodeCommit repositories when proper AWS credentials are provided.

- Add CodeCommit to ProviderType enum

- Update SuggestedTask class to include CodeCommit provider terms

- Add CodeCommit to PROVIDER_DOMAINS dictionary

- Create CodeCommit service directory structure

- Implement CodeCommit service mixins (base, repos, branches, prs, features, resolver)

- Create main CodeCommit service class

- Update service_class_map in provider.py to register CodeCommit service

- Update utils.py to include CodeCommit token validation

- Enhance ProviderToken class to include secret field for AWS secret access key

- Update _is_repository_url method to handle CodeCommit URLs

- Update get_provider_env_key method to handle CodeCommit

Co-authored-by: openhands <[email protected]>
@kashodiya kashodiya force-pushed the codecommit-integration branch from 0aa8c78 to 8feb053 Compare October 7, 2025 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants