2
1
0

期限が変更された課題を検索できませんか?

「担当者」であれば”changed”があるようですが、「duedate」にはヒストリーの検索は使えないと出ます。

 

    Commentコメントを追加...

    2 回答

    1.  
      3
      2
      1

      結局Script Fieldsを使用して履歴をなめてカウントするもので実装しました。

      com.atlassian.jira.issue.IssueManager issueManager = com.atlassian.jira.component.ComponentAccessor.getIssueManager();
      com.atlassian.jira.user.util.UserManager userManager = com.atlassian.jira.component.ComponentAccessor.getUserManager();
      com.atlassian.jira.issue.changehistory.ChangeHistoryManager changeHistoryManager = com.atlassian.jira.component.ComponentAccessor.getChangeHistoryManager();
      //課題ID取得
      com.atlassian.jira.issue.Issue issueObject = issueManager.getIssueObject(issue.getId());
      //該当課題の更新履歴取得
      java.util.List<com.atlassian.jira.issue.changehistory.ChangeHistoryItem> changeHistoryItems = changeHistoryManager.getAllChangeItems(issueObject);
      java.util.List<com.atlassian.jira.issue.changehistory.ChangeHistory> changeHistories = changeHistoryManager.getChangeHistories(issueObject);
      int result = 0;
      //更新履歴内のduedateをカウント
      for (com.atlassian.jira.issue.changehistory.ChangeHistory changeHistory : changeHistories) {
          java.util.List<com.atlassian.jira.issue.history.ChangeItemBean> changeItemBeans = changeHistory.getChangeItemBeans();
          for (com.atlassian.jira.issue.history.ChangeItemBean changeItemBean : changeItemBeans) {
              if (changeItemBean.getField() == "duedate"){
                      result += 1;
              }
          }
      }
      return result;

      このScript Fieldsを下のJQLで引っ張る事にしました


      JQL Example :
      <カスタムフィールド名> !~ "0"
      1. Kengo Ohsaki

        すごい。ScriptRunnerを使うと本当に幅が広がりますよね…

         

      Commentコメントを追加...
    2.  
      1
      0
      -1
      1. RYOITO

        できないですか… 例えば別の方法でREST APIの /jira/rest/api/2/issue/XX-123?expand=changelog で引っ張ったものから"field":"duedate"を抽出のような事もできないでしょうか…

      2. Kengo Ohsaki

        そうですね...JQLでは無理なので RESTなりで履歴をなめていくしかないですね。

      Commentコメントを追加...