tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

【JIRA】課題(issue)チケットをurlやリンクで作成するメモ - urlパラメータでデフォルト値を設定したり

はじめに

普段jiraを使っています。
issueの作成は素直にcreateボタンからcreate issue画面にて行いますよね。
で、作成画面でちまちま各項目を入力して...と...

そんなときに、この作成画面は
urlとパラメータを渡す事でデフォルトで値を入力しておく事ができます、というメモ

どんな時使いたいか

issueの作成時はやりたい事について複数件にわけてissueを作成したりしますよね。
そんなときは複数件のissueで項目が同じだったりします。

毎回同じ項目に同じ内容を入れるの面倒...

そういった場合に、confluenceにissue作成リンクを用意しておき
リンクのurlに各項目の値をパラメータとして埋め込んでおく事で作成画面を開くと同時に値を入力しておく事が可能です。

アジェンダ

  1. issue作成urlについて
  2. issue作成urlのパラメータについて
  3. issue作成urlの例
  4. customパラメータについて

1. issue作成urlについて

issue作成urlは以下のようになっています。

[JIRA BASE URL]/secure/CreateIssueDetails!init.jspa?[ARGUMENTS]

たとえばリンクにするならこんな感じです

<a href="[JIRA BASE URL]/secure/CreateIssueDetails!init.jspa?[ARGUMENTS]">[DESCRIPTION]\

公式サイトにはより詳しく載っています。
Creating Issues via direct HTML links

2. issue作成urlのパラメータについて

公式からの引用ではありますが、使えるパラメータを載せておきます。

名前 Key Value Type
Project pid Project Id '10420'
Issue Type issuetype Issue Type Id from '1' to '4'
Summary summary Plain Text 'issue+created%20via+link'
Priority priority Priority Id from '1' to '5'
Due Date duedate Date '15-Dec-2005'
フォーマットはjiraの設定による
Components components Component Id '10014'
Affects Version/s versions Version Id '10015'
Fix Version/s: fixVersions Version Id '10015'
Assign To assignee Username 'admin' or 'sam@atlassian.com'
Reporter reporter Username 'admin' or 'sam@atlassian.com'
Environment environment Plain Text 'this+is+the+environment'
Description description Plain Text 'this+is+the+description'
pidの調べ方

pidは必須項目だと思いますが、管理者でもないとこれがわからなかったりします。
自分は上部メニューのProjectsを押して出てくるドロップダウンメニューを開発者ツールで見る事で調べてます。

こんな感じ f:id:tweeeety:20171115233317p:plain

3. issue作成urlの例

公式サイトからの引用ですが、以下のような例になります。

projectがテスト(id=10420)でissue typeがimprovementでissueを作成
<a href="http://jira.atlassian.com/secure/CreateIssueDetails!init.jspa?pid=10420&issuetype=4">here</a>
projectがテスト(id=10420)でissue typeがtaskでsummaryが"say hello world"でissueを作成
<a href="http://jira.atlassian.com/secure/CreateIssueDetails!init.jspa?pid=10420&issuetype=3&summary=say+hello+world">here</a>
projectがテスト(id=10420)でissue typeがtaskでsummaryが"say hello world"でfixVersionsが複数選択された状態でissueを作成
<a href="http://jira.atlassian.com/secure/CreateIssueDetails!init.jspa?pid=10420&issuetype=3&summary=say+hello+world&fixVersions=10331&fixVersions=13187">here</a>

4. customパラメータについて

上記に載せた表のようなパラメータは公式でも明示されてますが、
ソレ以外のパラメータももちろん設定したいですよね。

そんなときは、これも開発者ツールでわかります。

やりかた

やり方ですが、issue作成画面を開いて知りたい項目のフォームを見てみます。

Story Pointsの場合

issue作成画面にStory Pointsのフォームがあります。
f:id:tweeeety:20171115233401p:plain

ここを開発者ツールで見てみるとこんな感じになってます。
f:id:tweeeety:20171115233845p:plain

このときのname属性の値がそのままパラメータのkeyになります。
Story Pointsを指定したい場合のurlの例です。

<a href="http://jira.atlassian.com/secure/CreateIssueDetails!init.jspa?pid=10420&issuetype=4&customfield_12345=2">here</a>
Epic Lincの場合

issue作成画面にEpic Linkのフォームがあります。
同じく開発者ツールで見るのですが、このinput要素にはname属性がありません。
f:id:tweeeety:20171115233422p:plain

こういう場合は、id属性の方を見ます。
id属性はcustomfield_13131-fieldとなってますが、この-fieldを抜いた文字列がkeyとなります。

以下、Epic Linkを指定する例です。

<a href="http://jira.atlassian.com/secure/CreateIssueDetails!init.jspa?pid=10420&issuetype=4&customfield_13131=HOGE-1234">here</a>

おわり

jiraは使いこなせると便利です