需要对PAT进行编码才能在BASH脚本中的azure devops REST API中使用它,因为PAT编码和在正文中传递的问题而受到影响

需要对PAT进行编码才能在BASH脚本中的azure devops REST API中使用它,因为PAT编码和在正文中传递的问题而受到影响,bash,curl,azure-devops,azure-devops-rest-api,azure-devops-pipelines,Bash,Curl,Azure Devops,Azure Devops Rest Api,Azure Devops Pipelines,需要对PAT进行编码才能在azure devops的REST API中使用它,这是由于PAT编码和在正文中传递的问题造成的。需要帮助的格式编码帕特和使用它的身体休息。我在BASH脚本中使用了它 #PAT-Encoding B64_PAT=$(printf "%s"":$PAT" | base64) #Create Repo in Azure "Repo_Creation_Status=$(curl --write-out "%{

需要对PAT进行编码才能在azure devops的REST API中使用它,这是由于PAT编码和在正文中传递的问题造成的。需要帮助的格式编码帕特和使用它的身体休息。我在BASH脚本中使用了它

#PAT-Encoding

B64_PAT=$(printf "%s"":$PAT" | base64)


#Create Repo in Azure

"Repo_Creation_Status=$(curl --write-out "%{http_code}\n" --location --request POST "https://dev.azure.com/"${OrganizationName}"/"${projectId}"/_apis/git/repositories?api-version=6.1-preview.1" \
        --header "Authorization: Basic ${B64_PAT}" \
        --header "Content-Type: application/json" \
        --data-raw '{
  "name": "'"$RepoName"'",
    "project": {
        "id": "'"$projectId"'"
          }
}' --output output.txt --silent)"

要使用CRUL脚本创建回购协议,可以直接使用PAT,而无需对其进行编码

以下是一个例子:

curl -X POST \
-u  :PAT  https://dev.azure.com/orgname/projectname/_apis/git/repositories?api-version=6.1-preview.1 \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{ 
   "name": "Reponame", 
    "project": 
        {
           "id": "ProjectID" 
        }
}' 

这也会起作用,我已经通过Postman对此进行了测试,通过测试,PAT令牌正在为基本授权进行编码,所以我考虑提取该代码,并通过在我的BASH脚本中传递编码的PAT来添加它。谢谢你的建议。嗨,Vishal。如果答案能给你一些帮助,你可以考虑接受它。非常感谢。