Amidst a large and ever-growing volume of changes, connecting work to product roadmap epics via GitHub Issue and Jira Epic references (Issue and Epic Refs) improves the ability to make the connection between product changes and roadmap epics for the docs team, and provides traceability and context for engineers, docs, management, and other departments within the company.

Who is the audience for Issue and Epic Refs

GitHub Issue and Jira Issue and Epic References (Issue and Epic Refs) benefit multiple audiences.

For comparison, the following table presents the audience of commit release notes and commit message bodies:

Commit Requirements

Audience

Commit Message Body

Engineering. Specifically the reviewers and future maintainers. Often verbose, to explain what was before/after, and why.

Release Note

The end-user (developer, operator). Communicates any potential impact that this change has to the user.

The Docs Team. Alerts the team to product changes that need documentation.

When to include an Issue or Epic Ref

All PRs should include Issue and/or Epic References. This includes PRs submitted by external contributors and CRL employees alike.

How to write an Issue or Epic Ref

High-level rules

note

The most helpful context for the docs team is that an Epic is linked to each commit. This can be either directly as an epic ref or as an issue ref where the issue contains an /wiki/spaces/JIRA/pages/1925283849 in its body. For engineers and other parties, the most helpful context is usually a reference to an issue or an issue and an epic.

The most helpful context for the docs team is that an Epic is linked to each commit. This can be either directly as an epic ref or as an issue ref where the issue contains an Epic Link in its body. For engineers and other parties, the most helpful context is usually a reference to an issue or an issue and an epic.

Recommended reference placement

Format

Issue Ref

Supported Issue Identifiers

Supported Keywords and Key Phrases

The standard GitHub keywords for linking and closing issues are supported. 

Select phrases for referencing issues are supported.

Examples:

Fixes: #64276
Closed cockroachdb/pebble#482
Informs: #33316
See also #62585, DOC-4023

Epic Ref (Jira Epic References)

To include an epic reference, use Epic: <jira-epic-key>

Examples:

Epic: CRDB-8035

# if no Issue or Epic reference
Epic: none

Pull Request linter

In GitHub, a linter will check your PR and its commits for the presence of an epic or issue reference:

This check contains logs that will print helpful information about whether the PR body and/or the commit messages are missing an issue or epic reference. The check is not required, but that may change in the future with advanced warning.

How to help external contributors add issue and epic references

We will occasionally receive PRs from external contributors. Unfortunately, they likely won't know which issue or epic is associated with the change they are making. It is the reviewer’s responsibility to identify the issue / epic associated with the PR.

Once you've identified the issue / epic to reference, you can ask them to amend their commit(s) message(s) or the PR body with the appropriate references.