open whisk slackinvite - public
TRANSCRIPT
![Page 1: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/1.jpg)
1
openwhisk-slackinviteを試してみました
第2回 OpenWhisk meetup LT
2017/03/06 @ibmamnt
![Page 2: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/2.jpg)
2
自己紹介 ~
名前: 天野 武彦
所属:IBM 東京ソフトウェア開発研究所
主な活動: 先端クラウド技術・サービスの開発・推進・啓蒙
(エリア: Cloud Foundry, DevOps, OpenStack, OpenWhisk , Blockchain ), IBM Garage Developer
趣味: 目下のところ育児に没頭
Twitter: @ibmamnt
ブログ: http://amanoblog.wordpress.com
![Page 3: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/3.jpg)
3
text
動機
– Garage の開発者として、定型業務はできるだけ自動化したい
– Slack のユーザー招待なんて自動化したいよね
![Page 4: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/4.jpg)
4
text
いままでのやりかた(@ibmamnt が知っている範囲)
https://github.com/avinassh/slackipy https://github.com/rauchg/slackin
※ paas勉強会のSlack 招待の画面スクリーンショットです
![Page 5: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/5.jpg)
5
text
あたらしいやりかた OpenWhisk + GitHub pages
– OpenWhisk で Slack invite のアクションを作成する
– API Gateway を定義する
– GitHub ページを公開する
30分でできます!
https://github.com/openwhisk/openwhisk-slackinvite
![Page 6: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/6.jpg)
6
text
対費用効果
従来
500 円/月の VPS を利用した場合、年 6,000円
新しい方法
10,000ユーザーを招待した場合、約2円
(10000users x $0.000017 x 0.25 (256MB) x 400ms* 155円/$ = 1.955)
![Page 7: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/7.jpg)
7
text
説明しよう
![Page 8: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/8.jpg)
8
text
actionの登録 1. https://api.slack.com/docs/oauth-test-tokens からアクセストークン入手。
2. action を登録。Slack チーム名(org) / slacktoken はデフォルトパラメータとしてセットする。
$ wsk action create slackinvite action.js -p org
"opencrane" -p slacktoken "xoxp-…”
ok: created action slackinvite
3. action の試験。
$ wsk action invoke -b -r slackinvite -p email [email protected]
{
"message": "Success! Check [email protected] for an invite
from Slack.”
}
$ cat action.js
//jshint esversion:6
var request = require("request");
function main({email, org, slacktoken}) {
return new Promise((resolve, reject) => {
request.post({
url:
`https://${org}.slack.com/api/users.admin.invite`,
form: {
email: email,
token: slacktoken,
set_active: true
}
},(err, httpResponse, body)=>{
if(err) reject({Error:"Error"+err});
resolve({
message:`Success! Check ${email}
for an invite from Slack.`
});
});
});
}
exports.main = main;
![Page 9: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/9.jpg)
9
text
API Gateway の作成
# API Gatewayの作成
$ wsk api-experimental create /opencrane /slackinvite GET slackinvite
ok: created API /opencrane/slackinvite GET for action /_/slackinvite
https://44081aec-c239-490d-a990-f0c37efa4746-gws.api-
gw.mybluemix.net/opencrane/slackinvite
# API Gateway 試験
$ curl -X GET https://44081aec-c239-490d-a990-f0c37efa4746-gws.api-
gw.mybluemix.net/opencrane/[email protected] {
"message": "Success! Check [email protected] for an invite from Slack."
}
![Page 10: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/10.jpg)
10
text
(゜∀゜)キター!!!!
![Page 11: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/11.jpg)
11
text
もう少し。。。
GitHub ページの作成
–サンプル index.html を修正
• actionUrl の修正
• その他、体裁など
–<github-org>.github.io リポジトリを作成して index.html を放り込む
ここ
![Page 12: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/12.jpg)
12
text
完成!
![Page 13: Open whisk slackinvite - public](https://reader034.vdocuments.site/reader034/viewer/2022051520/58ce81761a28ab210a8b5a35/html5/thumbnails/13.jpg)
13
text
まとめ
–定型業務は自動化して、開発作業に集中できるようにしましょう
–定型業務は OpenWhisk で自動化するとコスト的にもうれしい