Jira 使用记录

配图源自 Freepik

过滤器(筛选器)是 Jira 核心功能之一,利用它可以实现很多的需求。

开始之前

作一些简单的了解。

JQL:Jira Query Language

JQL Functions

一些基本函数,更多请看这里

函数 说明
currentUser() 当前登录用户
startOfWeek() 本周开始
endOfWeek() 本周结束
startOfMonth() 本月开始
endOfMonth() 本月结束
...

JQL Keywords

利用 AND、OR、NOT 等将多个条件连接在一起,实现更多复杂的查询,更多请看这里

查询

利用函数可以快速做一些筛选。

本周工作:

worklogAuthor = currentUser() AND worklogDate >= startOfWeek() AND worklogDate < endOfWeek()

本月工作:

worklogAuthor = currentUser() AND worklogDate >= startOfMonth() AND worklogDate < endOfMonth()

指定时间范围:

worklogAuthor = currentUser() AND worklogDate >= "2025/04/21" AND worklogDate <= "2025/04/25"

周报/月报

请注意,函数是动态的

如果将上述查询条件直接应用在汇报里面是有问题的。

  1. worklogAuthor = currentUser() 谁登录了就是谁的。
  2. startOfWeek() 是动态的,如果这周访问了上周的周报,会显示这周的内容。

你想一下,如果领导访问你的周报,但他看到了自己本周的任务,惊呆了!😲

我是这样做的(仅供参考):

  1. 指定时间范围
  2. 跟我有关的
    • 有记录工时的任务
    • 指派给我,但未记录工时。比如像 WON'T FIX 的任务

组合查询如下:

(worklogAuthor = "frankie" AND worklogDate >= "2025/04/21" AND worklogDate <= "2025/04/25")
OR
(assignee = "frankie" AND worklogAuthor is EMPTY AND created >= "2025/04/21" AND created <= "2025/04/25")

也可以在 .zshrc 中放入这个小脚本自动生成。

function genReportJQL() {
  local username="your_jira_username" # TODO: 你的用户名
  local mode=${1:-weekly} # 默认 weekly

  local start end

  if [[ "$mode" == "monthly" ]]; then
    start=$(date '+%Y/%m/01')
    end=$(date -v+1m -v1d -v-1d '+%Y/%m/%d')
  else
    local dow=$(date +%u)
    start=$(date -v -"$(($dow - 1))"d '+%Y/%m/%d')
    end=$(date -v +"$((5 - $dow))"d '+%Y/%m/%d')
  fi

  local jql="(worklogAuthor = \"$username\" AND worklogDate >= \"$start\" AND worklogDate <= \"$end\") OR (assignee = \"$username\" AND worklogAuthor is EMPTY AND created >= \"$start\" AND created <= \"$end\")"

  printf "%s" "$jql" | pbcopy
  echo "$jql"
  echo "✅ Copied to clipboard"
}

References

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容