GitHub Actions Importer incorrectly parses a GitHub Enterprise Server repository URL as an Azure DevOps repository #354
Unanswered
felipe-leon-NTT
asked this question in
Feedback
Replies: 1 comment 1 reply
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
We are using GitHub Actions Importer to assess the migration of Azure DevOps YAML pipelines to GitHub Actions.
The Azure DevOps pipelines are stored in GitHub Enterprise Server repositories and consume centralized Azure DevOps YAML templates from another GitHub Enterprise Server repository.
Pipelines without external templates are extracted and converted successfully.
Pipelines that reference templates stored in GitHub Enterprise Server consistently fail during extraction. GitHub Actions Importer attempts to parse a GitHub Enterprise Server repository URL as if it were an Azure DevOps repository URL.
Environment
GitHub Actions Importer has been updated using:
gh actions-importer updateCommand
The issue can be reproduced with a command equivalent to:
Actual result
The extraction fails with the following error:
The URL shown in the error is a valid GitHub Enterprise Server repository URL. It is not intended to be parsed as an Azure DevOps repository URL.
Azure DevOps repository metadata
The Azure DevOps Build Definitions API returns the expected repository metadata:
This confirms that Azure DevOps correctly identifies the pipeline repository as a GitHub Enterprise Server repository.
External template configuration
The pipeline uses an external repository resource equivalent to:
The pipeline then consumes templates from this repository using references equivalent to:
or:
Credentials validation
We configured a credentials file containing credentials for the GitHub Enterprise Server instance:
The provided token can successfully access both:
Tests
We performed the following control tests:
Azure DevOps pipelines that do not consume external templates are converted successfully using the same environment and credentials.
Pipelines that consume templates from GitHub Enterprise Server fail consistently.
Providing pipeline YAML locally with
--source-file-pathdoes not fully resolve the problem when repository/template references remain in the YAML.These results indicate that Azure DevOps, the service connection, the repository metadata, the template paths, and the credentials are valid.
Expected result
GitHub Actions Importer should recognize repository resources declared as
githubenterprise, retrieve the referenced YAML templates from GitHub Enterprise Server using the supplied credentials, and convert the expanded Azure DevOps pipeline.At minimum, it should not send a GitHub Enterprise Server URL to the Azure DevOps repository URL parser.
All reactions