devops REST API: 无法使用 PATCH 方法更新工作项状态
devops REST API: can not update work item status using PATCH method
我正在使用 DevOps restapi 获取一些信息。
POST 方法对我来说效果很好。
我想更新我的工作项的状态。为此,我需要使用 PATCH 方法。哪个不起作用,也没有给出任何类型的错误。
function postApiData(ApiUrl, responseBody) {
var res = '';
try {
$.ajax({
type: 'POST',
async: false,
url: ApiUrl,
contentType: 'application/json',
data: JSON.stringify(responseBody),
cache: false,
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("" + ":" + _token));
},
}).done(function (data) {
res = data;
}).fail(function (e) {
});
} catch (error) {
var x = error;
throw x;
}
return res;
};
对于Patch方法,我正在修改一些东西。但它没有给出任何错误不更新我的工作项目。我还检查了我的令牌访问权限。我有完全访问权限。
type: 'PATCH',
contentType: 'application/json-patch+json',
我在 Ajax 中用 PATCH
在我这边写了一个简单的示例:
<script type="text/javascript">
$(document).ready(function () {
$("#SelectWIT").on("click", function () {
var json= [{
"op": "add",
"path": "/fields/System.State",
"value": "Closed"
}];
$.ajax({
type: 'PATCH',
url: 'https://dev.azure.com/{org name}/_apis/wit/workitems/{WIT id}?api-version=5.1',
contentType: 'application/json-patch+json',
data: JSON.stringify(json),
cache: false,
dataType: 'application/json-patch+json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("" + ":" + "{PAT token}"));
},
}).error(function (e) {
var s = "error error error";
});
})
});
</script>
注:不仅contentType
需要设置为application/json-patch+json
,dataType
也一样。
我用 Fiddler 来捕捉这个操作:
可以看到工作项状态更新成功。
更新:
我正在使用 DevOps restapi 获取一些信息。
POST 方法对我来说效果很好。
我想更新我的工作项的状态。为此,我需要使用 PATCH 方法。哪个不起作用,也没有给出任何类型的错误。
function postApiData(ApiUrl, responseBody) {
var res = '';
try {
$.ajax({
type: 'POST',
async: false,
url: ApiUrl,
contentType: 'application/json',
data: JSON.stringify(responseBody),
cache: false,
dataType: 'json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("" + ":" + _token));
},
}).done(function (data) {
res = data;
}).fail(function (e) {
});
} catch (error) {
var x = error;
throw x;
}
return res;
};
对于Patch方法,我正在修改一些东西。但它没有给出任何错误不更新我的工作项目。我还检查了我的令牌访问权限。我有完全访问权限。
type: 'PATCH',
contentType: 'application/json-patch+json',
我在 Ajax 中用 PATCH
在我这边写了一个简单的示例:
<script type="text/javascript">
$(document).ready(function () {
$("#SelectWIT").on("click", function () {
var json= [{
"op": "add",
"path": "/fields/System.State",
"value": "Closed"
}];
$.ajax({
type: 'PATCH',
url: 'https://dev.azure.com/{org name}/_apis/wit/workitems/{WIT id}?api-version=5.1',
contentType: 'application/json-patch+json',
data: JSON.stringify(json),
cache: false,
dataType: 'application/json-patch+json',
beforeSend: function (xhr) {
xhr.setRequestHeader("Authorization", "Basic " + btoa("" + ":" + "{PAT token}"));
},
}).error(function (e) {
var s = "error error error";
});
})
});
</script>
注:不仅contentType
需要设置为application/json-patch+json
,dataType
也一样。
我用 Fiddler 来捕捉这个操作:
可以看到工作项状态更新成功。
更新: