Jira SQL自定义字段重叠日期范围
我的任务是从问题中获取重叠的日期,这些问题将“计划开始时间”和“计划完成时间”作为自定义字段。 我使用SQL作为JIRA驱动程序的插件。 我走了这么远: 自定义字段ID 10100用于计划开始时间Jira SQL自定义字段重叠日期范围,sql,jira,Sql,Jira,我的任务是从问题中获取重叠的日期,这些问题将“计划开始时间”和“计划完成时间”作为自定义字段。 我使用SQL作为JIRA驱动程序的插件。 我走了这么远: 自定义字段ID 10100用于计划开始时间 自定义字段ID 10101用于计划完成时间 SELECT * FROM ISSUES i INNER JOIN ISSUECUSTOMFIELDVALUES icv on i.ID=icv.ISSUEID INNER JOIN ISSUECUSTOMFIELDVALUES icv2 on i
自定义字段ID 10101用于计划完成时间
SELECT
*
FROM ISSUES i
INNER JOIN ISSUECUSTOMFIELDVALUES icv
on i.ID=icv.ISSUEID
INNER JOIN ISSUECUSTOMFIELDVALUES icv2
on icv2.VALUE >= icv.VALUE
INNER JOIN ISSUECUSTOMFIELDVALUES icv3
on icv2.VALUE <= icv3.VALUE
WHERE (icv.ISSUEID<>icv2.ISSUEID and icv2.CUSTOMFIELDID=10100
and icv.CUSTOMFIELDID=10100) and (icv2.ISSUEID<>icv3.ISSUEID
and icv2.CUSTOMFIELDID=10100 and icv3.CUSTOMFIELDID=10101)
and icv.ISSUEID=icv3.ISSUEID
and icv2.ISSUEID= (SELECT ID FROM ISSUES where jql='project=project1' LIMIT 1) //This apears to be the problem
and i.jql='project=project1'
选择
*
从问题一开始
内部联接问题CSTOMFIELDVALUES icv
on i.ID=icv.ISSUEID
内部联接问题CSTOMFIELDVALUES icv2
在icv2.VALUE>=icv.VALUE上
内部联接问题CSTOMFIELDVALUES icv3
在icv2.VALUE上,我已将问题行更改为在
结构中使用,而不是=
,因为我认为这是您想要的
但是,实际上根本没有比较开始或完成时间。您正在确保自定义字段标识符(10100和10101)匹配,但不确保自定义字段的值匹配
...
WHERE (
icv.ISSUEID <> icv2.ISSUEID
AND icv2.CUSTOMFIELDID = 10100
AND icv.CUSTOMFIELDID = 10100
)
AND (
icv2.ISSUEID <> icv3.ISSUEID
AND icv2.CUSTOMFIELDID = 10100
AND icv3.CUSTOMFIELDID = 10101
)
AND icv.ISSUEID = icv3.ISSUEID
AND icv2.ISSUEID IN (
SELECT ID FROM ISSUES WHERE jql='project=Prakse'
)
AND i.jql='project=Prakse'
...
edit3我不确定这是否能解决问题,但我删除了sub-select(exists)语句,支持内部联接
SELECT
i.ID, i.JQL, icv.VALUE AS StartTime, icv2.VALUE AS FinishTime
FROM
ISSUES i
LEFT JOIN ISSUECUSTOMFIELDVALUES icv
ON i.ID = icv.ISSUEID
AND icv.CUSTOMFIELDID = 10100
LEFT JOIN ISSUECUSTOMFIELDVALUES icv2
ON i.ID = icv2.ISSUEID
AND icv2.CUSTOMFIELDID = 10101
INNER JOIN ISSUECUSTOMFIELDVALUES icv3
ON i.ID <> icv3.ISSUEID
AND (icv3.CUSTOMFIELDID = 10100 OR icv3.CUSTOMFIELDID = 10101)
AND icv3.VALUE >= icv.VALUE
AND icv3.VALUE <= icv2.VALUE
WHERE
i.JQL= 'project=project1'
选择
i、 ID,i.JQL,icv.VALUE作为开始时间,icv2.VALUE作为完成时间
从…起
问题一
左连接问题CSTOMFIELDVALUES icv
ON i.ID=icv.ISSUEID
和icv.CUSTOMFIELDID=10100
左连接问题CSTOMFIELDVALUES icv2
在i.ID=icv2.ISSUEID上
和icv2.CUSTOMFIELDID=10101
内部联接问题CSTOMFIELDVALUES icv3
关于i.ID icv3.ISSUEID
和(icv3.CUSTOMFIELDID=10100或icv3.CUSTOMFIELDID=10101)
和icv3.VALUE>=icv.VALUE
和icv3.VALUE我已将问题行更改为在
结构中使用,而不是=
,因为我认为这是您想要的
但是,实际上根本没有比较开始或完成时间。您正在确保自定义字段标识符(10100和10101)匹配,但不确保自定义字段的值匹配
...
WHERE (
icv.ISSUEID <> icv2.ISSUEID
AND icv2.CUSTOMFIELDID = 10100
AND icv.CUSTOMFIELDID = 10100
)
AND (
icv2.ISSUEID <> icv3.ISSUEID
AND icv2.CUSTOMFIELDID = 10100
AND icv3.CUSTOMFIELDID = 10101
)
AND icv.ISSUEID = icv3.ISSUEID
AND icv2.ISSUEID IN (
SELECT ID FROM ISSUES WHERE jql='project=Prakse'
)
AND i.jql='project=Prakse'
...
edit3我不确定这是否能解决问题,但我删除了sub-select(exists)语句,支持内部联接
SELECT
i.ID, i.JQL, icv.VALUE AS StartTime, icv2.VALUE AS FinishTime
FROM
ISSUES i
LEFT JOIN ISSUECUSTOMFIELDVALUES icv
ON i.ID = icv.ISSUEID
AND icv.CUSTOMFIELDID = 10100
LEFT JOIN ISSUECUSTOMFIELDVALUES icv2
ON i.ID = icv2.ISSUEID
AND icv2.CUSTOMFIELDID = 10101
INNER JOIN ISSUECUSTOMFIELDVALUES icv3
ON i.ID <> icv3.ISSUEID
AND (icv3.CUSTOMFIELDID = 10100 OR icv3.CUSTOMFIELDID = 10101)
AND icv3.VALUE >= icv.VALUE
AND icv3.VALUE <= icv2.VALUE
WHERE
i.JQL= 'project=project1'
选择
i、 ID,i.JQL,icv.VALUE作为开始时间,icv2.VALUE作为完成时间
从…起
问题一
左连接问题CSTOMFIELDVALUES icv
ON i.ID=icv.ISSUEID
和icv.CUSTOMFIELDID=10100
左连接问题CSTOMFIELDVALUES icv2
在i.ID=icv2.ISSUEID上
和icv2.CUSTOMFIELDID=10101
内部联接问题CSTOMFIELDVALUES icv3
关于i.ID icv3.ISSUEID
和(icv3.CUSTOMFIELDID=10100或icv3.CUSTOMFIELDID=10101)
和icv3.VALUE>=icv.VALUE
值匹配是在内部连接语句中完成的。JIRA API在将“=”更改为“in”时引发错误。必须有一个严格的值。对。。。那么,您希望具有重叠的自定义字段(StartTime:10100和FinishTime:10101)的问题?例如:Issue1(开始13:00,结束15:00),Issue2(开始12:00,结束14:00)?在我的第二次尝试中,如果JIRA仍然抱怨在
构造中使用,那么将脚本的该部分更改为:(icv3.CUSTOMFIELDID=10100或icv3.CUSTOMFIELDID=10101)和…
是的,我想实现这一点。按照你的建议做了,还是一样的错误。错误:警告:没有足够的数据在表问题上使用JIRA Java API您必须至少为以下列之一提供一些数据:-ID-KEY-JQL如果您需要提供至少一列(ID,KEY,JQL),那么现有的JQL列应该足够了吗?值匹配在内部联接语句中完成。JIRA API在将“=”更改为“in”时引发错误。必须有一个严格的值。对。。。那么,您希望具有重叠的自定义字段(StartTime:10100和FinishTime:10101)的问题?例如:Issue1(开始13:00,结束15:00),Issue2(开始12:00,结束14:00)?在我的第二次尝试中,如果JIRA仍然抱怨在
构造中使用,那么将脚本的该部分更改为:(icv3.CUSTOMFIELDID=10100或icv3.CUSTOMFIELDID=10101)和…
是的,我想实现这一点。按照你的建议做了,还是一样的错误。错误:警告:没有足够的数据在表问题上使用JIRA Java API您必须至少为以下列之一提供一些数据:-ID-KEY-JQL如果您需要提供至少一列(ID,KEY,JQL),那么现有的JQL列应该足够了吗?