我正在尝试使用curl从Windows命令提示符运行Azure DevOps管道。根据Microsoft文档(Runs - Run Pipeline),我应该能够通过发布以下内容来运行管道:
https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs?api-version=6.0-preview.1
我可以使用以下命令执行GET:
curl -u :<PAT> https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs?api-version=6.0-preview.1
但是,我不知道如何使用curl运行管道来为DevOps执行POST。
我已尝试以下方法:
curl -s -X POST -L https://dev.azure.com/{organization}/{project}/_apis/pipelines/{pipelineId}/runs?api-version=6.0-preview.1 -H "Accept: application/json" -H "Content-Type: application/json" -H "Authorization: Basic <PAT>"
但这会返回错误
HTTP Error 411. The request must be chunked or have a content length
1条答案
按热度按时间ogsagwnx1#
我设法解决了我的问题,其中包括许多步骤:
1.从DevOps网站记录API调用,以获取json-body(See this question)的正确格式。
1.请使用额外的双引号来格式化json-body。
1.使用{project}-id而不是ascii-name,因为它包含一个特殊字符,命令提示符会错误解释该字符。
因此,完整的curl命令为: