Dataset: Issues & Pull Requests
Entity: Issues
Field ID: resolving_pr_last_closed_at
Type: Datetime
Description: The latest closure date among all resolving PRs (via auto-closing keywords). It is only applicable to issues.
It can be used to calculate specific stages of the cycle time. E.g. the time elapsed between the assignation date of an issue and the closing of all PRs at the end of the development (the definition of a closed PR differs from a merged PR).
Source: Calculated
Transformation logic:
Pull Requests: Not applicable. This field will always be
null
.Issues: The latest occurrence of all
closed_at
fields inherited from the PRs that resolve the issue (via auto-closing keywords). Thenull
values are ignored. Anull
value is returned only if allclosed_at
values arenull
.
Definition of resolving pull requests:
A resolving pull request is a pull request that:
Contains an auto-closing keyword to an issue
Has a
state
equal toOPEN
orMERGED
, notCLOSED
Has a
base ref
that has not been used as ahead ref
by a previous pull request associated with the issue
This last condition ensures that release PRs (e.g. PR from master
to staging
then staging
to production
) do not get considered as resolving if they follow a proper implementation PR (e.g. from my-feature-branch
to master
), even though they contain references to issues through commits.
This condition replaces the rule from GitHub, GitLab, and Bitbucket that resolving pull requests must target the main branch. This condition is not practical for Keypup since the main branch can change over time. Using this definition would mean that any resolving PR preceding a change of main branch would no longer be considered as resolving, which would impact historical reporting.
The Keypup definition also brings some flexibility in case of emergency releases. If you push an emergency fix referencing an issue to the main branch and then release this fix through release PRs, then the first release PR will be considered as a resolving PR (GitHub/GitLab/Bitbucket would simply ignore it). This information can then be used for incident reporting in Keypup.
From: |
|
Github (PRs) | Inferred from GitHub auto-closing keywords |
Gitlab (PRs) | Inferred from GitLab auto-closing keywords |
Bitbucket | Inferred from Bitbucket auto-closing keywords |
JIRA | N/A |
ClickUp | N/A |
Trello | N/A |