UiPathでAPIを使用し、Backlogの課題の作成・更新を行う。

投稿者: | 2021年6月29日

皆さんこんにちは。
広告配信システムの管理画面開発と全社業務自動化のRPA開発を担当してるR.Aです。

昨年のAdventCalendar2020でUiPathを使用しSalesforceのチケットを更新する方法について執筆を行いましたが、今回はBacklogのAPIを使用し、Backlogの課題を作成・更新するロボットを作成したいと思います。
社内では、Backlogを活用し開発の進捗管理や申し込み管理を行っています。GMOアドマーケティングでは、Backlogに登録されている特定の課題を取得し、社内サービスで使用するアカウント作成の処理をRPAで行っています。

1、APIキーを取得する。

はじめに課題の追加や更新を行うため、APIを作成いたします。
まずBacklogにログインを行い、画面右上にある自身のアイコンをクリックし個人設定に進みます。
個人設定の中にあるAPIをクリックし、発行を行います。詳しくは以下の公式ページを参照いただければと思います。
APIの設定

2、Backlogに課題を作成する。

今回はHTTPアクセスを行い課題作成を行う為、「uipath.webapi.activities」をインストールします。
インストール方法は何回か説明しているので、説明は省略させていただきます。
詳しくは以下をご確認ください。
インストール方法について

APIリクエストを行う為、以下のページを参考にリクエストを行います。
課題の追加
必須項目は以下となります。
①projectId
 課題作成を行いたい、プロジェクトの「プロジェクト設定」ページへ遷移を行い、URLを確認するとproject.id=xxxxxxxxとありますので、xxxxxxxxの数字を取得します。
②summary
 作成したい課題の件名となります。
③issueTypeId
 projectId同様、「種別設定」の「種別の編集」に移動し、URLにあるissueType.id=xxxxxxxxから確認いたします。
④priorityId
 課題の優先度を指定します。2を指定すると高、3が中、4が低となります。

そのほかにも必須項目としてspaceId・apiKeyが必要となりますので、用意を行います。
・spaceId
課題の作成を行いたいプロジェクトの以下の○○部分がspaceIdとなります。
https://○○.backlog.jp
・apiKey
先ほど設定したapiKeyとなります。

またAPIを使用し、HTTPアクセスを行う為Activitiesパネルから「HTTP 要求」を追加します。
プロパティ項目内にある、エンドポイントにリクエストURLを入力し、メソッドにはPOSTを指定します。
必須項目を変数で管理するようにしましたので、以下のようになります。
「”https://” + spaceId + “.backlog.jp/api/v2/issues?apiKey=” + apiKey +”&projectId=” + project_Id + “&summary=” + summary + “&issueTypeId=” + issueTypeId + “&priorityId=” + projectId」

またヘッダーには、公式のページにある「application/x-www-form-urlencoded 」を入力します。

上記の設定を行い、ロボットを実行すると課題の作成が行われます。

3、Backlogの課題を更新する。

先程と同様に必要な要素を変数等に格納いたします。
課題の更新の際に必要なものは以下になります。
①issueIdまたはKey
   課題を識別する為の個別IDまたは識別キー
②更新を行いたいパラメーター
 今回はテストとして、件名(summary)を更新します。
 更新可能なパラメーターにつきましては以下を参照ください。
https://developer.nulab.com/ja/docs/backlog/api/2/update-issue/

課題の作成同様spaceIdとapiKeyが必須となりますので、用意いたします。
・spaceId
・apiKey

課題の作成同様にエンドポイントとメソッドを指定します。また、メソッドはPATCHを設定します。
「”https://” + spaceId + “.backlog.jp/api/v2/issues/” + issueKey + “?apiKey=” + apiKey + “&summary=” + summary」

ヘッダーには、公式のページにある「application/x-www-form-urlencoded」を入力します。

上記の設定を行い、ロボットを実行すると課題の更新が行われます。

4、まとめ

今回はUiPathでAPIを使用して課題の作成・更新を行ってみましたが、いかがだったでしょうか。
APIでアクセスを行うとブラウザで操作して要素を取得するよりも効率的・短時間で必要な情報を取得する事ができます。
またサイト構成が変更になった場合も影響なく取得できるので、積極的に使用するようにしております。
最近Rails周りのブログを書けていないので、次回は書きたいと思います。

カテゴリー: AM RPA