1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Backlog「ガントチャート」の内容をSlackへ通知!APIを使ってWorkatoで連携

Last updated at Posted at 2024-11-01

image.png

Backlog「ガントチャート」の内容をSlackへ通知するレシピを作成したので紹介します。API連携は、iPaaS製品であるWorkatoを使用しました。iPaaSとは異なるアプリケーションを繋ぐ役割をしています。

Backlogには通知機能もありますが、業務に合わせた内容をSlackに通知してくれたら、業務効率化できると思い作成してみました。

Backlog「ガントチャート」の内容をSlackへ通知

「毎週ガントチャートの内容を通知したい」という課題

プロジェクト管理でBacklogを使用しています。毎週、担当者が課題(タスク)に取り組みます。以下のようにBacklogで、約1ヵ月のスケジュールを立てています。

image.png

Backlogはスケジュールを把握するためでも使用していますが、

「今週だれだっけ?」

「来週はだれだっけ?」

「わたしは次いつだっけ?」

Backlogを見ないと把握できない状態でした。

なので、自動で毎週ガントチャートの内容をSlackに通知できれば良いなと思ったのがBacklogとSlackのAPI連携を作成するきっかけとなりました。

作ったもの

仕組み的には以下のような感じです。

image.png

BacklogとSlackを直接繋げずに、Workato通して連携しています。
定期実行でWorkatoを起動させて、Backlogのデータを取得しに行きます。
そのあと、Workatoでデータを (※簡単に) 綺麗にしてSlackへ通知させます。


以下は、Slackに通知されるメッセージ文です。

image.png

Workatoでメッセージ内容を作成し、自動で送信をしています。

Workato(iPaaS)はクラウド実行なので、PCが起動されていなくても実行から通知まで、ネットワーク上で完結します。また、Workatoはローコード開発が可能なため、ほぼマウス操作だけで作成ができます。


今回作ったWorkatoのレシピは以下です。

image.png

作り込めば、もっと綺麗に出来るかと思います・・・
今回は、個人の業務効率化用で「自分が分かればいいや」程度で作ったものです。


Workato(iPaaS)は、BacklogやSlack以外のSaaS製品にも繋ぐことができます。
業務効率化のメリットと、SaaS製品の可視化ができるため、IT戦略という観点でも期待できます。Workatoに関して別記事で紹介しているので、参考にしてみてください。



BacklogのAPI連携に必要な値

Backlog「ガントチャート」の内容をSlackへ通知はWorkatoで実現できました。
API連携には、主にBacklogの設定や値の確認が必要です。
作成時に使用した値を解説していきます。

APIキーの発行

まずは、BacklogのAPIキーを発行するため、Backlogの個人設定からAPIキーを発行します。

1.右上のプロフィール画像をクリックし個人設定へ移動
2.個人設定内のAPIをクリック
3.新しいAPIキーを発行の登録をクリック

image.png

※権限が無いとAPIキーは発行できません。

パラメーターを確認

課題一覧の取得 の Backlog API 情報

取得方法を決めていきます。APIキーを使って取得が可能な状態になったので、
何を取得するか決めていきます。

以下は公式ドキュメントです。この中の課題一覧の取得を使用します。


様々な条件を設定することができますが、今回使用したのは以下のみです。

項目 意味
メソッド GET 取得するという指示
URL /api/v2/issues どのデータを取得するか
クエリパラメーター名 projectId[] どのプロジェクトを取得か
クエリパラメーター名 categoryId[] どのカテゴリーを取得するか
クエリパラメーター名 statusId[] どのステータスを取得するか

Backlog API に適した設定値

メソッドの設定値はGETですが、その他は取得したいBacklogの情報を設定する必要があります。取得方法は色々あるかと思いますが、私はBacklogのブラウザURLから取得しました。参考にしてみてください。

URL(どのデータを取得するか)

BacklogのブラウザURLを使用して、語尾にくっつけます


https://●●●●●●●.backlog.jp/ api/v2/issues


projectId[](どのプロジェクトを取得か)

プロジェクトIDを設定します。
プロジェクトIDは、プロジェクト設定のブラウザURLの語尾に表示されます。

image.png


categoryId[](どのカテゴリーを取得するか)

取得したいカテゴリーIDを設定します。
(必須ではないので、不要の場合はクエリパラメーター自体不要です。)
カテゴリーIDは、ガントチャートでカテゴリーを設定して検索されると、ブラウザURLの語尾に表示されます。

image.png


statusId[](どのステータスを取得するか)

取得したいステータスIDを設定します。
(必須ではないので、不要の場合はクエリパラメーター自体不要です。)
ステータスIDは、ガントチャートで状態を設定して検索されると、ブラウザURLの語尾に表示されます。

image.png


HTTPリクエストのレスポンス

API連携に必要な値を設定した後に、HTTPリクエストをします。
HTTPリクエストとは、インターネットを通じて情報を要求する方法です。様々なやり方がありますが、今回はWorkatoで設定しました。設定した場所は以下となります。

image.png


HTTPリクエストが正常に通信ができたら、以下のような、Responseの値が返ってきます。

json
(上部にも色々書いてあって)
Response: {
  "Array": [
    {
      "ID": "XXXX",
      "Project ID": "YYYY",
      "Issue key": "ZZZZ-87",
      "Key ID": "AA",
      "Issue type": {
        "ID": "BB",
        "Project ID": "YYYY",
        "Name": "タスク",
        "Color": "#XXXXXX",
        "Display order": 0
      },
      "Summary": "プロジェクト詳細1",
      "Description": "",
      "Resolution": null,
      "Priority": {
        "ID": "CC",
        "Name": "中",,,,,,,
(下部にもまだ色々書いてあって)

戻り値は、名前と値が組み合わせているjsonです。この中に、課題名や担当者名などが書かれています。このjsonを良い感じに整理するとSlack通知用のメッセージ文にできます!


・・・私は、AIでjsonを整理させました。
AIにPythonを書いてもらい、そのコードをWorkatoにコピペしています。
なので、※簡単に綺麗にできました。以下の記事を参考にしてみてください。



iPaaSがあると1から作る必要はない

今回は「Backlogのプロジェクトを管理する機能」と「Slackのチームと連携できる」 をWorkatoで連携しました。SaaSの機能だけを繋げて、新しい価値を生み出しました。

「プロジェクト管理も出来てコミュニケーションも取れてお菓子も作ってくれる最高のSaaS製品がほしい!」となると、膨大なコストが発生します。

Workato(iPaaS)を利用すれば、必要な機能だけを繋げてしまえば良いので、手間とコストを大幅に削減し、開発の生産性が向上します。
今後も、QiitaでWorkatoを使った業務効率化を紹介していこうと思います!

-参考-

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?