将应用的设置反映到正式环境中

aki发表于:2019年07月30日 13:36:20更新于:2023年02月28日 14:31:12

将测试环境里的应用设置反映到正式环境里。
执行此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));