Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

自己紹介 ビジュアルプログラミング や IoT関連、その他にも 豊田陽介( ) 普段は、某通信会社勤務(@埼玉)           ※地元は愛媛 @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ(IT系以外も) ・ Microsoft MVP(2021/10 から) プライベートでの活動 ・ガジェット好き ・アドベントカレンダーで記事を多数アップ  (全26記事を19のカレンダーに投稿) その他 自宅にたくさん ↓直近のイベント  が2/24に

Slide 3

Slide 3 text

今日の本題へ

Slide 4

Slide 4 text

この発表のキーワード ■ Backlog API ■ google/zx

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

そこで自前で(APIで)

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

課題追加はPOSTメソッドのためcurlで メソッド: POST Node.js で作っていく前に、まずは簡単なテスト Postman や VSCode+REST Client等を使うのも OK パラメータはたくさん だけど必須は4つ

Slide 17

Slide 17 text

curlで実行するコマンドの内容 必須パラメータ 4つのみで課題追加を試す ● projectId (必須)【数値】: 課題を登録するプロジェクトのID ● summary (必須)【文字列】: 課題の件名 ● issueTypeId (必須)【数値】:課題の種別のID ● priorityId (必須)【数値】: 課題の優先度のID

Slide 18

Slide 18 text

まずは最小限で動かす 早い段階で実際に動くのが体験できると、 個人的に楽しい(その後さらに試していく モチベーションアップ・維持)

Slide 19

Slide 19 text

キーワード2つ目: zx Googleさん提供の Node.js用の パッケージ ●google/zx: A tool for writing better scripts  https://github.com/google/zx

Slide 20

Slide 20 text

なぜ zx を使う? 気になっていて、いつか試したいと思っていた ものだったから(今回の話は別の方法でも可)

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

詳細はアドベントカレンダーの 記事にて ●Googleさんの zx で Backlog API を扱う  (JavaScript で課題を追加する)   https://qiita.com/youtoy/items/36ea84e09332d4e6815a

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

まとめ APIを用いた課題追加が実現できた! ● Node.js(JavaScript)のプログラムで処理 ● テキストのリストをもとに、まとめて Backlog に登録できた ⇒ API活用による効率化は進められそうになった! 今後やりたいこと ● zx 特有の機能を活用していく ● API での課題追加時に、各課題にいろいろ情報を追加できる ようにしたい

Slide 28

Slide 28 text

終わり!