Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「google/zx」と「Backlog API」を組み合わせたJavaScriptのプログラムからのBacklog操作 / JBUG広島#9 × Agile Japan HIROSHIMA

「google/zx」と「Backlog API」を組み合わせたJavaScriptのプログラムからのBacklog操作 / JBUG広島#9 × Agile Japan HIROSHIMA

Cd931bc05e7cee46b9a950a63e47ba4c?s=128

you(@youtoy)

January 22, 2022
Tweet

More Decks by you(@youtoy)

Other Decks in Technology

Transcript

  1. 「google/zx」と「Backlog API」を組み合わせた JavaScriptのプログラムからのBacklog操作 2022年1月22日 (土) JBUG広島#9 × Agile Japan HIROSHIMA

    @オンライン 豊田陽介( ) @youtoy
  2. 自己紹介 ビジュアルプログラミング や IoT関連、その他にも 豊田陽介( ) 普段は、某通信会社勤務(@埼玉)           ※地元は愛媛 @youtoy

    ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ(IT系以外も) ・ Microsoft MVP(2021/10 から) プライベートでの活動 ・ガジェット好き ・アドベントカレンダーで記事を多数アップ  (全26記事を19のカレンダーに投稿) その他 自宅にたくさん ↓直近のイベント  が2/24に
  3. 今日の本題へ

  4. この発表のキーワード ▪ Backlog API ▪ google/zx

  5. キーワードの話に入る前に背景を補足 Backlogについて、こんな時にどう 対応してますか? ・定期的に、わりとまとまった数の課題を登録 ・頻度は多くないけれど、毎年数回、大量に  似たような課題を登録

  6. 手作業やってました... ちょこちょこ対応すればなんとか できてもいた(大変だけど)

  7. いつか(半)自動化したいな と思いつつ🥺

  8. そして2021年の アドベントカレンダー この機会に📝

  9. 課題を一括で登録する という話については...

  10. 課題の一括登録を行う方法の検索結果から 🔍 調べてよく   出てくる話は Googleスプレッド シートを使う方法

  11. こんなパターンが        あるかもしれない... ・規定的に自由に外部クラウドが  使えない (特定のものが指定されてる等も) ・外部クラウドに社外秘に関わる  情報を置くのが厳しい

  12. そこで自前で(APIで)

  13. APIを使う:アカウントの個人設定画面で API利用めのキーを生成する画面

  14. 特定のものを試すだけならブラウザ上でも GETメソッドのもの

  15. 試しつつ理解を深めたい そのために手軽に試せるツール・ 環境を使っていろいろ試していく

  16. 課題追加はPOSTメソッドのためcurlで メソッド: POST Node.js で作っていく前に、まずは簡単なテスト Postman や VSCode+REST Client等を使うのも OK

    パラメータはたくさん だけど必須は4つ
  17. curlで実行するコマンドの内容 必須パラメータ 4つのみで課題追加を試す • projectId (必須)【数値】: 課題を登録するプロジェクトのID • summary (必須)【文字列】:

    課題の件名 • issueTypeId (必須)【数値】:課題の種別のID • priorityId (必須)【数値】: 課題の優先度のID
  18. まずは最小限で動かす 早い段階で実際に動くのが体験できると、 個人的に楽しい(その後さらに試していく モチベーションアップ・維持)

  19. キーワード2つ目: zx Googleさん提供の Node.js用の パッケージ •google/zx: A tool for writing

    better scripts  https://github.com/google/zx
  20. なぜ zx を使う? 気になっていて、いつか試したいと思っていた ものだったから(今回の話は別の方法でも可)

  21. アドベントカレンダーに登録した後の流れ ネタは作業効率化関連で考えたい 「API でまとめて課題を追加する話」 は、すぐに決まったが実行方法は? RPAツール・自動テストツールなどでもできたりするけど... せっかくだから新しいものを試そう! zx が気になってたけど試せてなかった

  22. Node.jsのプログラム(わりとコンパクト) 3件の課題をまとめて登録する処理 (対象データは必須項目のみに絞っているもの)

  23. 無事Backlogに課題が3件追加された! 配列で持たせた課題の件名(仮)が Backlog上に

  24. 詳細はアドベントカレンダーの 記事にて •Googleさんの zx で Backlog API を扱う  (JavaScript で課題を追加する)

      https://qiita.com/youtoy/items/36ea84e09332d4e6815a
  25. 対応中の内容 配列で持たせたデータをExcel・CSVから読み込 んだものにしたり、必須項目以外も登録したり ⇒ 課題に追加する内容は、他の方(技術系では   ない方含め)と Excelベースで共有できると   いろいろ捗る!

  26. zx に関して 今回はあまり zx 特有の機能を活用できた感じ ではないが、個人的には知見が蓄積された ⇒ 今後も試して Qiita などで記事化できればと

  27. まとめ APIを用いた課題追加が実現できた! • Node.js(JavaScript)のプログラムで処理 • テキストのリストをもとに、まとめて Backlog に登録できた ⇒ API活用による効率化は進められそうになった!

    今後やりたいこと • zx 特有の機能を活用していく • API での課題追加時に、各課題にいろいろ情報を追加できる ようにしたい
  28. 終わり!