Skip to content

Pipeline rewiring not working for githubenterprise #1496

@JelleBroekhuijsen

Description

@JelleBroekhuijsen

Description

When running:

ado2gh test-pipelines `
--ado-org $env:ADO_ORG `
--ado-team-project $env:ADO_TEAM_PROJECT `
--github-org $env:GH_ORG `
--target-api-url $env:TARGET_API_URL `
--github-repo "$env:GH_RPPO" `
--pipeline-filter "*Validate JSON files" `
--service-connection-id $env:ADO_SVC_CON_ID `
--max-concurrent-tests 1 `
--verbose

with --target-api-url = https://api.my-enterprise.ghe.com

the command fails with the following verbose log output:

Repository self specifies endpoint 6e4565c8-b861-4480-b955-685ed7d52e54 which is of type githubenterprise but an endpoint of type GitHub is required.

The service connection is a PAT based connection to a githubenterprise org. It has been tested and works when manually rewiring a pipeline in the ADO portal.

Reproduction Steps

[2026-01-19 17:39:13] [DEBUG] HTTP POST: https://dev.azure.com/MyOrg/My%20Project/_apis/build/builds?api-version=6.0
[2026-01-19 17:39:13] [DEBUG] HTTP BODY: {"definition":{"id":242},"sourceBranch":"refs/heads/main","reason":"manual"}
[2026-01-19 17:39:14] [DEBUG] RESPONSE (BadRequest): {"$id":"1","customProperties":{"ValidationResults":[{"result":"error","message":"An error occurred while loading the YAML build pipeline. Repository self specifies endpoint 6e4565c8-b861-4480-b955-685ed7d52e54 which is of type githubenterprise but an endpoint of type GitHub is required"}]},"innerException":null,"message":"Could not queue the build because there were validation errors or warnings.","typeName":"Microsoft.TeamFoundation.Build.WebApi.BuildRequestValidationFailedException, Microsoft.TeamFoundation.Build2.WebApi","typeKey":"BuildRequestValidationFailedException","errorCode":0,"eventId":3000}
[2026-01-19 17:39:14] [DEBUG] HTTP GET: https://dev.azure.com/MyOrg/My%20Project/_apis/build/definitions/242?api-version=6.0
[2026-01-19 17:39:14] [DEBUG] RESPONSE (OK): {"options":[{"enabled":false,"definition":{"id":"5d58cc01-7c75-450c-be18-xxxx"},"inputs":{"branchFilters":"[\"+refs/heads/*\"]","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"a9db38f9-9fdc-478c-b0f9-xxxx"},"inputs":{"workItemType":"Task","assignToRequestor":"true","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"57578776-4c22-4526-aeb0-xxxx"},"inputs":{}}],"triggers":[{"branchFilters":[],"pathFilters":[],"settingsSourceType":2,"batchChanges":false,"maxConcurrentBuildsPerBranch":1,"triggerType":"continuousIntegration"},{"settingsSourceType":2,"branchFilters":[],"forks":{"enabled":false,"allowSecrets":false,"allowFullAccessToken":false},"pathFilters":[],"requireCommentsForNonTeamMembersOnly":false,"requireCommentsForNonTeamMemberAndNonContributors":false,"isCommentRequiredForPullRequest":false,"pipelineTriggerSettings":{"forkProtectionEnabled":false,"buildsEnabledForForks":false,"enforceJobAuthScopeForForks":false,"enforceNoAccessToSecretsFromForks":false,"isCommentRequiredForPullRequest":false,"requireCommentsForNonTeamMembersOnly":false,"requireCommentsForNonTeamMemberAndNonContributors":false},"triggerType":"pullRequest"}],"properties":{},"tags":[],"_links":{"self":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/Definitions/242?revision=29"},"web":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_build/definition?definitionId=242"},"editor":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_build/designer?id=242&_a=edit-build-definition"},"badge":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/status/242"}},"jobAuthorizationScope":"projectCollection","jobTimeoutInMinutes":60,"jobCancelTimeoutInMinutes":5,"process":{"yamlFilename":"pipelines/utility/validate-json.yml","type":2},"repository":{"properties":{"apiUrl":"https://api.my-enterprise.ghe.com/repos/My-Org-Sandbox/MyRepo","branchesUrl":"https://api.my-enterprise.ghe.com/repos/My-Org-Sandbox/MyRepo/branches","cloneUrl":"https://my-enterprise.ghe.com/My-Org-Sandbox/MyRepo.git","connectedServiceId":"6e4565c8-b861-4480-b955-xxxx","defaultBranch":"main","fullName":"My-Org-Sandbox/MyRepo","manageUrl":"https://my-enterprise.ghe.com/My-Org-Sandbox/MyRepo","orgName":"My-Org-Sandbox","refsUrl":"https://api.my-enterprise.ghe.com/repos/My-Org-Sandbox/MyRepo/git/refs","safeRepository":"My-Org-Sandbox/MyRepo","shortName":"MyRepo","reportBuildStatus":"true"},"id":"My-Org-Sandbox/MyRepo","type":"GitHub","name":"My-Org-Sandbox/MyRepo","url":"https://my-enterprise.ghe.com/My-Org-Sandbox/MyRepo.git","defaultBranch":"refs/heads/main","clean":"false","checkoutSubmodules":false},"quality":"definition","authoredBy":{"displayName":"My Name","url":"https://spsprodweu5.vssps.visualstudio.com/Aad16dbf3-708f-48b5-ba65-xxxx/_apis/Identities/3507fc18-006b-634b-81c1-xxxx","_links":{"avatar":{"href":"https://dev.azure.com/MyOrg/_apis/GraphProfile/MemberAvatars/aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1"}},"id":"3507fc18-006b-634b-81c1-xxxx","uniqueName":"my.name@myorg.co.za","imageUrl":"https://dev.azure.com/MyOrg/_apis/GraphProfile/MemberAvatars/aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1","descriptor":"aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1"},"drafts":[],"queue":{"_links":{"self":{"href":"https://dev.azure.com/MyOrg/_apis/build/Queues/81"}},"id":81,"name":"Azure Pipelines","url":"https://dev.azure.com/MyOrg/_apis/build/Queues/81","pool":{"id":9,"name":"Azure Pipelines","isHosted":true}},"id":242,"name":"Validate JSON files","url":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/Definitions/242?revision=29","uri":"vstfs:///Build/Definition/242","path":"\\My Repo\\Utility","type":"build","queueStatus":"enabled","revision":29,"createdDate":"2026-01-19T16:39:13.577Z","project":{"id":"8593a143-361a-4ffa-bc1f-xxxx","name":"My Project","description":"Pipelines & code for my project","url":"https://dev.azure.com/MyOrg/_apis/projects/8593a143-361a-4ffa-bc1f-xxxx","state":"wellFormed","revision":147,"visibility":"private","lastUpdateTime":"2025-05-29T09:15:32.637Z"}}
[2026-01-19 17:39:14] [DEBUG] HTTP GET: https://dev.azure.com/MyOrg/My%20Project/_apis/git/repositories/My%20Repo?api-version=4.1
[2026-01-19 17:39:14] [DEBUG] RESPONSE (OK): {"id":"920067c4-03c6-4495-b2fc-xxxx","name":"My Repo","url":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx","project":{"id":"8593a143-361a-4ffa-bc1f-xxxx","name":"My Project","description":"Pipelines & code for my project","url":"https://dev.azure.com/MyOrg/_apis/projects/8593a143-361a-4ffa-bc1f-xxxx","state":"wellFormed","revision":147,"visibility":"private","lastUpdateTime":"2025-05-29T09:15:32.637Z"},"defaultBranch":"refs/heads/main","size":13227287,"remoteUrl":"https://MyOrg@dev.azure.com/MyOrg/My%20Project/_git/My%20Repo","sshUrl":"git@ssh.dev.azure.com:v3/myorgDev/My%20Project/My%20Repo","webUrl":"https://dev.azure.com/MyOrg/My%20Project/_git/My%20Repo","_links":{"self":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx"},"project":{"href":"vstfs:///Classification/TeamProject/8593a143-361a-4ffa-bc1f-xxxx"},"web":{"href":"https://dev.azure.com/MyOrg/My%20Project/_git/My%20Repo"},"ssh":{"href":"git@ssh.dev.azure.com:v3/myorgDev/My%20Project/My%20Repo"},"commits":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx/commits"},"refs":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx/refs"},"pullRequests":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx/pullRequests"},"items":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx/items"},"pushes":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/git/repositories/920067c4-03c6-4495-b2fc-xxxx/pushes"}},"isDisabled":false,"isInMaintenance":false}
[2026-01-19 17:39:14] [DEBUG] HTTP PUT: https://dev.azure.com/MyOrg/My%20Project/_apis/build/definitions/242?api-version=6.0
[2026-01-19 17:39:14] [DEBUG] HTTP BODY: {"options":[{"enabled":false,"definition":{"id":"5d58cc01-7c75-450c-be18-xxxx"},"inputs":{"branchFilters":"[\"+refs/heads/*\"]","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"a9db38f9-9fdc-478c-b0f9-xxxx"},"inputs":{"workItemType":"Task","assignToRequestor":"true","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"57578776-4c22-4526-aeb0-xxxx"},"inputs":{}}],"triggers":[{"branchFilters":[],"pathFilters":[],"settingsSourceType":2,"batchChanges":false,"maxConcurrentBuildsPerBranch":1,"triggerType":"continuousIntegration"}],"properties":{},"tags":[],"_links":{"self":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/Definitions/242?revision=29"},"web":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_build/definition?definitionId=242"},"editor":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_build/designer?id=242&_a=edit-build-definition"},"badge":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/status/242"}},"jobAuthorizationScope":"projectCollection","jobTimeoutInMinutes":60,"jobCancelTimeoutInMinutes":5,"process":{"yamlFilename":"pipelines/utility/validate-json.yml","type":2},"repository":{"id":"920067c4-03c6-4495-b2fc-xxxx","type":"TfsGit","name":"My Repo","url":"https://dev.azure.com/MyOrg/My%20Project/_git/My%20Repo","defaultBranch":"main","clean":"false","checkoutSubmodules":"false","properties":{"cleanOptions":"0","labelSources":"0","labelSourcesFormat":"$(build.buildNumber)","reportBuildStatus":"true","gitLfsSupport":"false","skipSyncSource":"false","checkoutNestedSubmodules":"false","fetchDepth":"0"}},"quality":"definition","authoredBy":{"displayName":"My Name","url":"https://spsprodweu5.vssps.visualstudio.com/Aad16dbf3-708f-48b5-ba65-xxxx/_apis/Identities/3507fc18-006b-634b-81c1-xxxx","_links":{"avatar":{"href":"https://dev.azure.com/MyOrg/_apis/GraphProfile/MemberAvatars/aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1"}},"id":"3507fc18-006b-634b-81c1-xxxx","uniqueName":"my.name@myorg.co.za","imageUrl":"https://dev.azure.com/MyOrg/_apis/GraphProfile/MemberAvatars/aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1","descriptor":"aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1"},"drafts":[],"queue":{"_links":{"self":{"href":"https://dev.azure.com/MyOrg/_apis/build/Queues/81"}},"id":81,"name":"Azure Pipelines","url":"https://dev.azure.com/MyOrg/_apis/build/Queues/81","pool":{"id":9,"name":"Azure Pipelines","isHosted":true}},"id":242,"name":"Validate JSON files","url":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/Definitions/242?revision=29","uri":"vstfs:///Build/Definition/242","path":"\\My Repo\\Utility","type":"build","queueStatus":"enabled","revision":29,"createdDate":"2026-01-19T16:39:13.577Z","project":{"id":"8593a143-361a-4ffa-bc1f-xxxx","name":"My Project","description":"Pipelines & code for my project","url":"https://dev.azure.com/MyOrg/_apis/projects/8593a143-361a-4ffa-bc1f-xxxx","state":"wellFormed","revision":147,"visibility":"private","lastUpdateTime":"2025-05-29T09:15:32.637Z"},"settingsSourceType":1}
[2026-01-19 17:39:15] [DEBUG] RESPONSE (OK): {"options":[{"enabled":false,"definition":{"id":"5d58cc01-7c75-450c-be18-xxxx"},"inputs":{"branchFilters":"[\"+refs/heads/*\"]","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"a9db38f9-9fdc-478c-b0f9-xxxx"},"inputs":{"workItemType":"Task","assignToRequestor":"true","additionalFields":"{}"}},{"enabled":false,"definition":{"id":"57578776-4c22-4526-aeb0-xxxx"},"inputs":{}}],"triggers":[{"branchFilters":[],"pathFilters":[],"settingsSourceType":2,"batchChanges":false,"maxConcurrentBuildsPerBranch":1,"triggerType":"continuousIntegration"}],"properties":{"PipelinesCreatedOnBranch":{"$type":"System.String","$value":"1084-add-validation-pipeline-for-json-fi"},"LastRepositoryUpdate":{"$type":"System.DateTime","$value":"2026-01-19T15:26:12.027Z"}},"tags":[],"_links":{"self":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/Definitions/242?revision=30"},"web":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_build/definition?definitionId=242"},"editor":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_build/designer?id=242&_a=edit-build-definition"},"badge":{"href":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/status/242"}},"jobAuthorizationScope":"projectCollection","jobTimeoutInMinutes":60,"jobCancelTimeoutInMinutes":5,"process":{"yamlFilename":"pipelines/utility/validate-json.yml","type":2},"repository":{"properties":{"cleanOptions":"0","labelSources":"0","labelSourcesFormat":"$(build.buildNumber)","reportBuildStatus":"true","gitLfsSupport":"false","skipSyncSource":"false","checkoutNestedSubmodules":"false","fetchDepth":"0"},"id":"920067c4-03c6-4495-b2fc-xxxx","type":"TfsGit","name":"My Repo","url":"https://dev.azure.com/MyOrg/My%20Project/_git/My%20Repo","defaultBranch":"refs/heads/main","clean":"false","checkoutSubmodules":false},"quality":"definition","authoredBy":{"displayName":"My Name","url":"https://spsprodweu5.vssps.visualstudio.com/Aad16dbf3-708f-48b5-ba65-xxxx/_apis/Identities/3507fc18-006b-634b-81c1-xxxx","_links":{"avatar":{"href":"https://dev.azure.com/MyOrg/_apis/GraphProfile/MemberAvatars/aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1"}},"id":"3507fc18-006b-634b-81c1-xxxx","uniqueName":"my.name@myorg.co.za","imageUrl":"https://dev.azure.com/MyOrg/_apis/GraphProfile/MemberAvatars/aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1","descriptor":"aad.MzUwN2ZjMTgtMDA2Yi03MzRiLTgxYzEtYTAwMDBhNGIyZWI1"},"drafts":[],"queue":{"_links":{"self":{"href":"https://dev.azure.com/MyOrg/_apis/build/Queues/81"}},"id":81,"name":"Azure Pipelines","url":"https://dev.azure.com/MyOrg/_apis/build/Queues/81","pool":{"id":9,"name":"Azure Pipelines","isHosted":true}},"id":242,"name":"Validate JSON files","url":"https://dev.azure.com/MyOrg/8593a143-361a-4ffa-bc1f-xxxx/_apis/build/Definitions/242?revision=30","uri":"vstfs:///Build/Definition/242","path":"\\My Repo\\Utility","type":"build","queueStatus":"enabled","revision":30,"createdDate":"2026-01-19T16:39:15.54Z","project":{"id":"8593a143-361a-4ffa-bc1f-xxxx","name":"My Project","description":"Pipelines & code for my project","url":"https://dev.azure.com/MyOrg/_apis/projects/8593a143-361a-4ffa-bc1f-xxxx","state":"wellFormed","revision":147,"visibility":"private","lastUpdateTime":"2025-05-29T09:15:32.637Z"}}
[2026-01-19 17:39:15] [ERROR] Batch testing failed: Failed to test pipeline '\My Repo\Utility\Validate JSON files': Response status code does not indicate success: 400 (Bad Request).
  • This log has been obfuscated for obvious reasons
  • Both 'My Project' as well as 'My Repo' have been chosen with spaces in their name to match my reality

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions