スプレッドシートからkintoneレコードにコメント(kintone×GAS)

目次

※本ページ先頭に戻りたい場合は画面右下の画像に alt 属性が指定されていません。ファイル名: fdd5c5eff34d006b8526d0602cef2cd6.pngボタンを押して下さい。

概要

スプレッドシートから下記情報を取得し、kintoneレコードに対してコメント通知を行う

  • レコード番号
  • メンション先
  • コメント内容

プログラムを作成した理由

毎月数百件のレコードに対して
【「こちら締切間近ですので、ご対応をお願いします」とコメントをする】
という仕事をたった一人の担当者が行っていたが、

↑業務を引き継いだ別部署から
「毎月数百件も手動通知なんて余力ありません、自動化出来ないですか?:大泣き:」と相談が来た為。

こんな同じ事の繰り返しの通知業務を手動でやってたら、私なら発狂します←

ソースコード

※「コメント通知」箇所を抜粋し、サンプルして紹介
※「スプレッドシートから情報を取得」部分は省略

 

引数の解説

  • APP_ID:URL内の「k/」以降の数値
    ※アプリ毎、環境毎に異なるので注意
  • DOMAIN:URL内の「https://」と「.cybozu.com」の間の文字
    ※環境毎に異なるので注意
  • LOGIN_USER_NAME:kintoneに登録されている「ログイン名」を指定
    ※通知用のユーザーを追加するのがオススメ
    (↓では「GAS」というアカウントを追加している)
    ※「ログイン名」は日本語非推奨
  • LOGIN_USER_PASS:通知アカウントのパスワードを指定
    ※コード上にパスを書く為、通知用のユーザーを追加するのがオススメ
  • record_id:コメントを通知したいレコード番号を指定
  • comment_contents:通知文章
  • send_user_name:メンション先ユーザー名

実際の使い方

上記ソースコードは「1レコードに対し、1回コメント通知」という内容の為、
スプレッドシート全行に対して実行するには下記流れとなります。

  1. スプレッドシートにkintoneレコード情報反映(手動でも、自動でもOK)
  2. レコード番号、通知先メンション、通知文章等をセルから取得
  3. ループして1行毎に「post_commment」関数をコールする

また、運用するにあたって「この条件を満たしているレコードのみ通知したい」となった場合は、

下記コード、画像のように「関数の結果が◎の場合のみ通知」としておけば、
関数の修正のみで臨機応変に条件を変更出来ます。

感想

GASは殆ど開発経験が無く、
下記の基礎技術もロクに知らなかった為、苦労しました:大泣き:
(何度も「ExcelVBAならこう書けるからGASでも出来るだろう…」とgoogle検索して試行錯誤してました)

  • スプレッドシートからセルを取得
    getRange.getValue()

  • 値、書式、入力規則削除
    getRange.clear()
    getRange.clear({validationsOnly: true})

  • シート取得
    SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“シート名”);

今回のコメント通知でGAS開発経験を積めたのは、
今後のプログラム人生でプラスになったと思います:やっほー:

編集履歴

2022/08/18 新規作成

関連記事一覧

PAGE TOP