新規投稿
フォローする

ガルーンワークフロー承認後のキントーンへの登録

ガルーンワークフローからキントーンへの登録について、サイト情報を元に下記内容で作成しました。

(function() {
'use strict';
var kintoneAppId = 154;

function addKintoneTask(token, request) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('POST', '/k/v1/record.json?__REQUEST_TOKEN__=' + token);
xmlhttp.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xmlhttp.setRequestHeader('Content-Type', 'application/json');
var body = {};
body.app = kintoneAppId;
body.record = {};
body.record['Title'] = {};
body.record['Title'].value = request['items']['Title']['value'];
body.record['From'] = {};
body.record['From'].value = request['items']['From']['value'];
body.record['Month'] = {};
body.record['Month'].value = request['items']['Month']['value'];
body.record['Name1'] = {};
body.record['Name1'].value = request['items']['Name1']['value'];
body.record['Name2'] = {};
body.record['Name2'].value = request['items']['Name2']['value'];
body.record['Name3'] = {};
body.record['Name3'].value = request['items']['Name3']['value'];
body.record['Name4'] = {};
body.record['Name4'].value = request['items']['Name4']['value'];
body.record['Name5'] = {};
body.record['Name5'].value = request['items']['Name5']['value'];
body.record['Order'] = {};
body.record['Order'].value = request['items']['Order']['value'];
body.record['User'] = {};
body.record['User'].value = request['items']['User']['value'];
body.record['Link'] = {};
body.record['Link'].value = location.href;
xmlhttp.send(JSON.stringify(body));
xmlhttp.onload = function() {
return xmlhttp.responseText;
};
}


garoon.events.on('workflow.request.approve.submit.success' , function(event) {
// console.log(event);
var request = event.request;

return garoon.connect.kintone.getRequestToken().then(function(token) {
try {
addKintoneTask(token, request);
} catch (e) {
alert(e);
}
});
});

})();

最終承認後のみキントーンへの登録をする為、status.typeを条件として追加したいのですが何処に記述すればよいか解りません。

教えて頂けませんでしょうか?

0

1件のコメント

Avatar
Kazuhiro Yoshida

試してなくて想像で申し訳ありません。

Garoonのドキュメントによるとワークフロー承認時のイベントで取得できるワークフローオブジェクト の"status"の"type"が "COMPLETED" を判断する処理を入れるのはどうでしょうか?

"status": {
"name": "完了",
"type": "COMPLETED"
},
 
const garoonEvent = {
request: {
id: "1",
status: {
name: "完了",
type: "COMPLETED"
}
}
};
const request = garoonEvent.request;
console.log(request.status.type);
const statusType = request.status.type;
if (statusType === "COMPLETED") {
// Your code here.
console.log(`status is ${statusType}`);
}
 

ワークフローオブジェクト: https://developer.cybozu.io/hc/ja/articles/115001457503

0
サインインしてコメントを残してください。