我在使用 azuredevops golang API 创建拉取请求时遇到以下错误
错误: TF401398:无法激活拉取请求,因为源和/或目标分支不再存在,或者请求的引用不是分支
代码:
connection := azuredevops.NewPatConnection("organizationUrl", "PAToken")
ctx := context.Background()
client, _ := azuregit.NewClient(ctx, connection)
pr := azuregit.CreatePullRequestArgs{}
repoId := git.repository.Name
proname := "MVC Test -Demo"
pr.Project = &proname
pr.RepositoryId = &repoId
sourceBranch:= "feature-test"
targetBranch:= "main"
pr.GitPullRequestToCreate = &azuregit.GitPullRequest{
TargetRefName: &targetBranch,
SourceRefName: &sourceBranch,
Description: &git.configuration.PrRequestMessage,
Title: &git.configuration.PrRequestTitle,
}
_, err := client.CreatePullRequest(ctx, pr)
这个问题通过在分支前加上
refs/heads/
得到解决
sourceBranch:= "refs/heads/feature-test"
targetBranch:= "refs/heads/main"
pr.GitPullRequestToCreate = &azuregit.GitPullRequest{
TargetRefName: &targetBranch,
SourceRefName: &sourceBranch,
Description: &git.configuration.PrRequestMessage,
Title: &git.configuration.PrRequestTitle,
}
_, err := client.CreatePullRequest(ctx, pr)
我有同样的问题(虽然在 Azure DevOps 中)并且每次另一个修复工作:
---
schedules:
- cron: '0 2 * * *'
displayName: 'yourdisplayname'
always: true
branches:
include:
- main
trigger: none
stages:
- stage: CheckDependencies
displayName: 'dependabot run'
jobs:
- job: Dependabot
displayName: 'Run Dependabot'
pool:
vmImage: 'ubuntu-latest'
steps:
- task: AzureKeyVault@2
inputs:
connectedServiceName: 'name'
keyVaultName: 'kvname'
secretsFilter: 'azureDevOpsAccessToken'
runAsPreJob: true
- task: dependabot@1
inputs:
azureDevOpsAccessToken: '$(azureDevOpsAccessToken)'
- task: dependabot@1
inputs:
packageManager: 'nuget'
targetBranch: 'refs/heads/main'