Slack: チャット投稿(揮発メッセージ)

Slack: チャット投稿(揮発メッセージ) (Slack: Chat Post Ephemeral)
揮発メッセージを送信します。特定のパブリックチャネル(プライベートチャネル・プライベート会話)内で、指名ユーザのみにメッセージが表示されます。ユーザは指定されたチャンネルにいなければなりません。SLACK USER はメッセージ受信ユーザのIDで指定します。
https://support.questetra.com/ja/addons/slack-chat-post-ephemeral/
2018-12-06 (C) Questetra, Inc. (MIT License)
Configs
  • A: 投稿先の SLACK CHANNEL をセットしてください (例 “#general”) * #{EL}
  • a: 受信者の ID をセットしてください (例 “U0BPQUNTA”) * #{EL}
  • B: 通信許可の設定名([OAuth2.0設定]メニュー)をセットしてください *
  • C: 投稿メッセージが格納されている文字列型データ項目を選択してください *
Script
// (c) 2018, Questetra, Inc. (the MIT License)

//// == OAuth2 Setting example ==
// Authorization Endpoint URL: "https://slack.com/oauth/authorize"
// Token Endpoint URL: "https://slack.com/api/oauth.access"
// Scope: "chat:write:bot" (or "bot" etc)
// Client ID: ( from https://api.slack.com/apps )
// Consumer Secret: ( from https://api.slack.com/apps )
// -more- https://api.slack.com/methods/chat.postEphemeral


//////// START "main()" ////////
main();
function main(){ 

//// == Config Retrieving / 工程コンフィグの参照 ==
const channel = configs.get( "conf_Channel" ) + "";
const slackUser = configs.get( "conf_SlackUser" ) + "";
const oauth2  = configs.get( "conf_OAuth2" ) + "";
const dataIdC = configs.get( "conf_DataIdC" ) + "";
// 'java.lang.String' (String Obj) to javascript primitive 'string'
if( channel === "" ){
  throw new Error( " SLACK CHANNEL not specified" );
}

//// == Data Retrieving / ワークフローデータの参照 ==
const myText  = engine.findDataByNumber( dataIdC ) + "";


//// == Calculating / 演算 ==
// obtain OAuth2 Access Token
const token   = httpClient.getOAuth2Token( oauth2 );

// prepare API Request
let apiRequest = httpClient.begin(); // HttpRequestWrapper
// - com.questetra.bpms.core.event.scripttask.HttpClientWrapper
apiRequest     = apiRequest.formParam( "token", token );
// not "apiRequest.bearer( token )"
apiRequest     = apiRequest.formParam( "channel", channel );
apiRequest     = apiRequest.formParam( "user", slackUser );
apiRequest     = apiRequest.formParam( "text", myText );

// access API (with post(), get(), put(), etc.)
const response = apiRequest.post( "https://slack.com/api/chat.postEphemeral" );
// - HttpResponseWrapper
const httpStatus  = response.getStatusCode() + "";
engine.log( "STATUS: " + httpStatus );
const responseStr = response.getResponseAsString() + "";
engine.log( "RESPONSE: \n" + responseStr );


//// == Data Updating / ワークフローデータへの代入 ==
// (nothing)

} //////// END "main()" ////////

Download

Slack-Chat-Post-Ephemeral.xml

Capture

See also

Slack: チャット投稿

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。