(6.x-ja_JP) crm-info サーブレットを使用して JIRA 課題を CRM ユーザーに表示する
CRM プラグインのユーザーのほとんどは、表示と検索が可能な [JIRA/CRM フィールド マッピング (JIRA/CRM Field Mappings)] を使用して JIRA データを CRM にコピーします。しかし、他の方法として CRM プラグインの crm-info サーブレットを使用して CRM にデータを保存することなく JIRA 課題を含む画面を表示できます。結果を示す画面は新しいブラウザー ウィンドウで表示するか、Salesforce ユーザーの場合は CRM 画面のセクションに "埋め込む" ことができます。crm-info サーブレットを使用する最大の利点は、複数の課題から容易にデータを表示できることです。
スクリーンショット例
crm-info サーブレットは通常、CRM のアカウント、連絡先、またはケース/バグ画面でカスタム ボタンを作成することで呼び出すことができます。CRM でカスタム ボタンを作成する方法については、お使いの CRM システム (Salesforce、SugarCRM) のマニュアルを参照してください。
カスタム ボタンは crm-info サーブレットを呼び出すために URL を使用します。この URL の基本的な形式は以下のとおりです。
https://JIRA-HOST/plugins/servlet/crm-info?crmtoken=TOKEN&account=ACCOUNT-RECORD-ID
"account=ACCOUNT-RECORD-ID" の代わりに "contact=CONTACT-RECORD-ID" または "case=CASE/BUG-RECORD-ID" を使用することもできます。
サーブレットが返す画面の形式を変更するオプションは他にもあります。URL のクエリ文字列に含めることができる引数の全一覧を以下に示します。
- crmtoken - URL の認証に使用する [CRM セットアップ (CRM Setup)] 画面からの URL セキュリティ トークンです。
- jira_user - JIRA へのログインに使用するユーザー名です ("crmtoken" が使用されている場合は省略可)
- pwd - "jira_user" のパスワードです ("crmtoken" が使用されている場合は省略可)
- account - 指定したアカウント ID にリンクされている課題を表示します。
- contact - 指定した連絡先 ID にリンクされている課題を表示します。
- case - 指定したケース ID にリンクされている課題を表示します。
- cols - HTML テーブルの列に表示する JIRA フィールド (利用可能な値については以下の表を参照) です。既定値 : "issue-type,key,summary,assignee,reporter,priority,status,resolution,created,updated,due-date"
- sort - 並べ替え順です。既定値 : "RESOLUTION:D,PRIORITY:D,DUE-DATE,CREATED"
- target - JIRA 課題をクリックしたときにどのブラウザー ウィンドウを使用するかを制御するには、HTML リンクの "target=" 属性を設定します。たとえば、"target=_blank" と設定すると新しいウィンドウが開きます。
- hide_heading - ページ上部の見出しの表示を省略します。
- jql - 検索をさらに絞り込むために使用する JIRA JQL の式です。なお、URL で使用すると特殊な意味を持つ句読文字がこの式に含まれることがありますが、これらの文字はエンコードする必要があります。詳細については、「URL エンコーディング」を参照してください。
- add_filters - ページ下部にフィルターへのリンクを含めます。
- filter - 指定した JIRA フィルター名を使用して課題を表示します。
Visualforce ページの作成に慣れており、Salesforce レイアウトの中央に HTML のテーブルを埋め込みたいと思っている Salesforce ユーザーは、ページ定義として以下の Apex コードを使用できます (JIRA-HOST および TOKEN にはお使いのインストレーションに合わせた値を使用)。
<apex:page standardController="Account"> <apex:iframe src="http://JIRA-HOST/plugins/servlet/crm-info?crmtoken=TOKEN&hideFooter&account={!Case.AccountId}"/> </apex:page>
"cols" 引数の値
URL の "cols" 引数で使用可能な値は以下のとおりです。以下の JIRA フィールド名に加えて、JIRA カスタム フィールドを含めることもできます。カスタム フィールドの名前または "customfield_nnnnn" ("nnnnn" はフィールドの一意の ID 番号) を指定します。
JIRA フィールド | 説明 |
---|---|
affected-version | [影響バージョン (Affects Version/s)] フィールドからの値の一覧です。 |
assignee | 課題に割り当てられたユーザーの JIRA ユーザー名です。 |
assignee-email | 課題に割り当てられたユーザーのメール アドレスです。 |
assignee-fullname | 課題に割り当てられたユーザーのフルネームです。 |
component | [コンポーネント (Component/s)] フィールドからの値の一覧です。 |
created | 課題が作成された日付です。 |
description | 課題の説明です。 |
due-date | 課題の期限日です。 |
environment | [環境 (Environment)] フィールドからの値です。 |
estimate | 元の見積もりからの残り秒数です。 |
fix-version | [修正バージョン (Fix Version)] フィールドからの値の一覧です。 |
issue-type | 課題の種類です。 |
key | 課題の一意のキーです。 |
labels | 課題ラベルの値の一覧です。 |
original-estimate | 元の時間見積もり (秒単位) です。 |
parent-id | (サブタスク関連) 課題の親課題のキーです。 |
priority | 課題の [優先度 (Priority)] フィールドの値です。 |
project | 課題を含むプロジェクトの名前です。 |
project-category | 課題のプロジェクトのカテゴリです。 |
project-id | 課題のプロジェクトの一意の ID 番号です。 |
reporter | 課題の報告者の JIRA ユーザー名です。 |
reporter-email | 課題の報告者のメール アドレスです。 |
reporter-fullname | 課題の報告者のフルネームです。 |
resolution | 課題の [解決状況 (Resolution)] フィールドからの値です。 |
resolved | 課題が解決された日付です。 |
security-level | 課題の [セキュリティ レベル (Security Level)] フィールドからの値です。 |
status | 課題の [ステータス (Status)] フィールドからの値です。 |
summary | 課題の [要約 (Summary)] フィールドからの値です。 |
time-spent | 課題に対して記録された作業の合計秒数です。 |
updated | 課題が最後に変更された日付です。 |
votes | 課題に対する投票数です。 |