プロセス管理作業者情報取得について

プロセス管理で次の作業者(複数いる場合は先頭の1人)のユーザー情報

のURLを取得したい場合、どのようにすれば良いのでしょうか?

(URLには外部のツールのアドレスを入力してあります)

下記プログラムはログインユーザーでは動いています。

 

jQuery.noConflict();

(function ($) {
“use strict”;

var ProcessEvents = [“app.record.detail.process.proceed”, “mobile.app.record.detail.process.proceed”];

kintone.events.on(ProcessEvents, function(event) {

if(event.nextStatus.value != “差し戻し” && event.nextStatus.value != “取下げ”){

function checklog () {
console.log(this.responseText); //動作確認用
}

var record = event.record;
var recordId = kintone.app.record.getId(); //レコードID取得
var url = kintone.getLoginUser()[“url”]; 
var text = “承認依頼が届きました件名:” + record[“メールタイトル”][“value”] + “URL:https://(サブドメイン).cybozu.com/k/1470/show#record=” + recordId; //チャットメッセージ内容

var request = new XMLHttpRequest();
request.addEventListener(“load”,checklog); //動作確認用
request.open(“POST”, url);
request.setRequestHeader(‘Content-Type’,‘application/json; charset=UTF-8’);

var obj = {“text”:text};
var json = JSON.stringify(obj); //エンコードしないとエラーになる

request.send(json);
};
return event;
});

ご教授頂けると助かります。

app.record.detail.process.proceedだと現在の作業者しかGETできないので

そもそもapp.record.detail.process.proceedが間違っている感じですかね。

app.record.detail.process.proceedのあとのapp.record.detail.showで作業者取得するほうがいいのですかね?

でもそうすると詳細画面開くたびに実行してしまいますよね・・・

 

shimaさん、こんにちは。プロジェクト・アスノートの松田です。

 

作業者を取得して何をやりたいか、にもよりますが、

process.proceedイベントで、どこかのフィールドにフラグ情報を更新しておいて、

その後のshowイベントでそこを見て判断し、処理を行うという方法でも良さそうですね。

 

松田さん

回答ありがとうございます

やりたいことは他のアプリケーションに作業依頼通知を飛ばせたら便利かなと思い作成しています。
作業者のユーザーマスタのURL欄にWebhookURLを登録しておき、
作業依頼が届いた場合、通知を飛ばしたいと思っています。

(Zaiper等はまだ連携できなく、JSで構築したいと思っています)

確かにフラグのフィールドで行ったほうがよさそうですよね。
app.record.detail.showをうまく使って1回のみの通知でできるよう考えてみます。