Jira Server / Cloud を Custom Action で操作する
Workato には色々な機能が有ります。Workato の Jira Connector は Jira の全ての機能を網羅している訳ではありません。カスタムフィールドの SIngle Version Picker には対応していません。このドキュメントでは、Custom Action を利用して、Single Version Picker の項目を扱う手順を説明します。下記の手順は Jira Server を対象にしていますが、同じ手順で Jira Cloud にも適用できます。
目次
Custom Action が必要なケース
以下のケースでは、Workato の Jira コネクターが対応していないケースなので、カスタムアクションが必要になります。
Jira Server で、Date Time Picker に値を設定したいとき。
Cloud 版は問題有りません。
Workato が出力する Timestemp の型を Jira Serverが受け付けないので、コネクターを利用した場合はエラーになってしまいます。Atlassian への 改善要望は RASERVER-59430 Time stamps are not ISO8601 compatible の通り、却下されてしまったので改善の見込みは有りません。
日付時刻型の違いは下記の通り、タイムゾーンに “:”(コロン)が有るか無いかの違いです。
workato : 2011-10-19T10:29:29.908+11:00
Jira Server : 2011-10-19T10:29:29.908+1100
カスタムフィールドの Single Version Picker に値を設定したいとき。
その他、サードパーティ独自のカスタムフィールドを利用したいとき。(Workato の Jira コネクターで利用できるかどうかはサードパーティアプリの作りに依存します)
Custom Action による課題の作成
Custom Action は 各アプリの API を直接呼び出す方法です。このため、APIの知識が必要になります。課題の作成については、こちらの記事をご覧ください。
REST API で Jira Software を操作してみる(Server版)
こちらの記事に有る通り、<jira_baseurl>/rest/api/2/issue に put メソッドで JSON を送信すれば課題を起票することができます。上記の記事に乗っている JSON には、Single Version Picker と Date Time Picker が無いのですが、追加して下記の様になります。また、フィールドは追加したい項目に合わせて変更して下さい。後で、これを workato にペーストしますが、値はサンプルなので、気にしなくても良いです。
{
"fields": {
"project": {
"key": "RSAF"
},
"summary": "Advent Calendar 2017",
"issuetype": {
"name": "Task"
},
"assignee": {
"name": "higuchi"
},
"reporter": {
"name": "higuchi"
},
"priority": {
"id": "3"
},
"description": "Advent Calendar 2017 3日目用のサンプル課題です。",
"customfield_10300": {
"name":"1.0"
},
"customfield_10413":"ABC"
}
}
customfield_10300 が Single Version Picker 、customfield_10413 がDate Time Picker のカスタムフィールド です。下記の様に管理画面の 課題 → カスタムフィールドで当該フィールドの設定画面を開くと custom_filed の番号をURL で 確認できます。この番号を “customfield_” に追加した値がカスタムフィールドのフィールド名となります。
customfield_10413 は日付時刻型ですが、workato の日付時刻型を使ってしまうと エラーになってしまうので String 型で利用します。そのために上記のJSON では、 "customfield_10413":"ABC"
と表記しています。
Action Parameter
項目 | 値 | 備考 |
---|---|---|
Action Name | Create Issue | 任意の解りやすい名前を付けて下さい。 |
Method | POST |
|
Path | /jira/rest/api/2/issue | 左記は Jira のコンテキストパスが Jira の場合です。
|
Request type | JSON request body |
|
Request Body | 下記の手順を参照 |
|
Response type | JSON response |
|
実施手順
Workato の レシピ編集画面で Action を追加して、App に Jira, Action は Custom Action を選択します。
パラメータは 上記の Action Parmater の通り入力します。
Input の Request body parameter の Use JSON ボタンを押します。
Generate shcme 画面にて、上記 JSON を修正した JSON をペーストして、Next ボタンを押します。
次の画面では、Generate scheme ボタンを押しますと、元の画面に戻って下記の様に表示されます。
フィールドは一部の項目しか表示されないので、画面をスクロールしてoptional fields を表示し、入力したい項目にチェックを入れます。
下記の様に指定した項目が表示されますので、ここで値を設定します。データはText モードで直接入力する事も、データピルを利用する事も Formula モードを利用する事もできます。
Date Time Picker の値は日付時刻型を strftime で文字型に変換します。
strftime のパラメータ は下記を設定します。
"%Y-%m-%dT%H:%M:%S.%L%z"
Input の Request body parameterと 同様の手順で、Response Body でも Use JSON ボタンを押して下記の JSON をペーストします。
{ "id": "000000", "key": "DEMO-1", "self": "http://jira.local/jira/rest/api/2/issue/10200" }
この設定をする事で、後続の処理で 作成した課題の課題キーを利用する事ができます。
Custom Action による課題の更新
更新も作成と殆ど同じです。違いについては下表を参照して下さい。
項目 | 値 | 備考 |
---|---|---|
Action Name | Update Issue | 任意の解りやすい名前を付けて下さい。 |
Method | PUT | 課題作成は POSTでした。 |
Path | /jira/rest/api/2/issue/課題キー (/jira/rest/api/2/issue/DEMO-23 など) | URLに更新対象の課題キーを付けます。
|
Request type | JSON request body | 課題作成と同様です。 |
Request Body | 必要な項目を設定 | 課題作成と同様の方法で設定 |
Response type | JSON response | 課題作成と同様です。 |
Response Body | 設定なし | 課題作成と違い、何も返さないので設定は不要です。 |
ご不明点は ヘルプデスク (要サポートサービス契約)までお問い合わせください。
サポートサービスの新規ご契約は お問い合わせフォーム にご連絡ください。
リックソフト株式会社 は、日本でトップレベルのAtlassian Platinum Solution Partnerです。
大規模ユーザーへの対応実績が認められたEnterpriseの認定をうけ、高度なトレーニング要件をクリアし、小規模から大規模のお客様まで対応可能な実績を示したパートナー企業です。
Copyright © Ricksoft Co., Ltd. プライバシーポリシー お問い合わせ