将测试环境里的应用设置反映到正式环境里。
执行此API后,会将正在测试的应用的所有设置都反映到正式环境中。
该操作的效果相当于在应用的设置页面里点击[更新应用]按钮。
也可以取消在测试环境里所做的更改,返回到跟正式环境相同的设置。该操作的效果相当于在应用的设置页面里点击[取消更改]按钮。
此API可以对多个应用进行批量处理。
另外,在进行批量处理时,一旦有一个应用的处理失败,进行批量处理的所有应用都将返回执行API前的状态。
记录的访问权限的更改结果以前是一次性反映到环境中,现在更改为将处理已完成的部分依次反映到应用中。
详情请参考API更新信息
URI
https://(子域名).cybozu.cn/k/v1/preview/app/deploy.json
来宾空间的应用
https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/deploy.json
HTTP方法
POST
必要的访问权限
应用的管理权限
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
apps | 数组 | 必须 | 用数组形式来指定应用。最多可以指定300条。 指定来宾空间的应用时,只能指定同一个来宾空间内的应用。 |
apps[].app | 数值或字符串 | 必须 | 应用ID。 |
apps[].revision | 数值或字符串 | 指定要反映到正式环境中的版本。若指定的版本不是最新的,请求将失败。 省略版本或者指定为[-1]时,不做版本确认。 | |
revert | 布尔值或字符串 | 如要取消对应用的设置所做的更改,指定“true”。测试环境中的应用设置将返回到跟正式环境的应用一样的状态。 |
请求的范例
头部
POST /k/v1/preview/app/deploy.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "apps": [ { "app": 8, "revision": 13 }, { "app": 9, "revision": 5 }, { "app": 10, "revision": 11, } ], "revert": true }
应答
没有应答。
限制事项
正在将应用的设置反映(或取消反映)到正式环境里时,若执行了更改应用设置的API,将报错。
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { "apps": [ { "app": 1, "revision": 57 }, { "app": 1001, "revision": 22 } ], "revert": true }; kintone.api(kintone.api.url('/k/v1/preview/app/deploy', true), 'POST', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/deploy.json'; var body = { "apps": [ { "app": 1, "revision": 57 }, { "app": 1001, "revision": 22 } ], "revert": true, // CSRF TOKEN: 从kintone里执行API(POST, PUT, DELETE)时需要设置 "__REQUEST_TOKEN__": kintone.getRequestToken() }; var xhr = new XMLHttpRequest(); xhr.open('POST', url); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onload = function() { if (xhr.status === 200) { // success console.log(JSON.parse(xhr.responseText)); } else { // error console.log(JSON.parse(xhr.responseText)); } }; xhr.send(JSON.stringify(body));