blob: 835b63361890947751be7c765db1f592bc8e7e9e [file] [log] [blame] [view]
AndroidX Core Team2e416b22020-12-03 22:58:07 +00001# Issue Lifecycle and Reporting Guidelines
2
3[TOC]
4
AndroidX Core Team2afabce2023-02-02 11:56:14 -05005This document provides an external-facing explanation of how to file a bug
6against a Jetpack library or infrastructure component and how to interpret the
7various statuses and priorities displayed in the issue tracker.
8
AndroidX Core Team0e7745f2021-04-08 17:00:10 +00009## Issue tracker {#tracker}
AndroidX Core Team2e416b22020-12-03 22:58:07 +000010
11The public-facing issue tracker URL is
AndroidX Core Team2afabce2023-02-02 11:56:14 -050012[issuetracker.google.com](https://issuetracker.google.com).
AndroidX Core Team2e416b22020-12-03 22:58:07 +000013
14The top-level Jetpack component is
15[`Android Public Tracker > App Development > Jetpack (androidx)`](https://issuetracker.google.com/components/192731/manage#basic).
AndroidX Core Team2afabce2023-02-02 11:56:14 -050016**Do not** file bugs against the top-level component. Individual library
17components are organized by group and can be searched by entering the Maven
18group in the issue tracker's component field, e.g. `androidx.core`.
19
20Issues with tools, processes, or infrastructure should be reported under the
21[`Jetpack (androidx) > Infrastructure`](https://issuetracker.google.com/components/705292/manage#basic)
22component.
AndroidX Core Team2e416b22020-12-03 22:58:07 +000023
AndroidX Core Team0e7745f2021-04-08 17:00:10 +000024## Reporting guidelines {#reporting}
AndroidX Core Team2e416b22020-12-03 22:58:07 +000025
26Issue Tracker isn't a developer support forum. For support information, consider
27[StackOverflow](http://stackoverflow.com).
28
29Support for Google apps is through
30[Google's support site](http://support.google.com/). Support for third-party
31apps is provided by the app's developer, for example through the contact
32information provided on Google Play.
33
341. Search for your bug to see if anyone has already reported it. Don't forget
35 to search for all issues, not just open ones, as your issue might already
36 have been reported and closed. To help you find the most popular results,
37 sort the result by number of stars.
38
391. If you find your issue and it's important to you, star it! The number of
40 stars on a bug helps us know which bugs are most important to fix.
41
421. If no one has reported your bug, file the bug. First, browse for the correct
43 component -- typically this has a 1:1 correspondence with Maven group ID --
44 and fill out the provided template.
45
461. Include as much information in the bug as you can, following the
47 instructions for the bug queue that you're targeting. A bug that simply says
48 something isn't working doesn't help much, and will probably be closed
49 without any action. The amount of detail that you provide, such as a minimal
50 sample project, log files, repro steps, and even a patch set, helps us
51 address your issue.
52
AndroidX Core Team0e7745f2021-04-08 17:00:10 +000053## Status definitions {#status}
AndroidX Core Team2e416b22020-12-03 22:58:07 +000054
55| Status | Description |
56| -------- | ----------------------------------------------------------------- |
57| New | The default for public bugs. Waiting for someone to validate, |
AndroidX Core Team1d93e5c2022-10-18 06:55:04 -070058: : reproduce, or otherwise confirm that this is actionable. Bugs in :
59: : this state can be either Untriaged or Triaged. Untriaged state :
60: : refers to a status where an issue has been filed against our :
61: : team, but the team/person responsible for fixing the issue has :
62: : not looked at it yet. Triaged state refers to a status where an :
63: : issue filed against the team has been reviewed by the :
64: : team/person, and they have accurately updated the priority of the :
65: : issue. :
66| Assigned | In this state, the issue is ready to be added to an iteration |
67: : with a level of certainty that it will be completed within the :
68: : upcoming team iteration. Issues here should be >=P3 :
AndroidX Core Team2e416b22020-12-03 22:58:07 +000069| Accepted | Actively being worked on by the assignee. Do not reassign. |
70| Fixed | Fixed in the development branch. Do not re-open unless the fix is |
71: : reverted. :
72| WontFix | Covers all the reasons we chose to close the issue without taking |
73: : action (can't repro, working as intended, obsolete). :
74
AndroidX Core Team0e7745f2021-04-08 17:00:10 +000075## Priority criteria and SLOs {#priority}
AndroidX Core Team2e416b22020-12-03 22:58:07 +000076
AndroidX Core Team0e7745f2021-04-08 17:00:10 +000077| Priority | Criteria | Resolution time |
78| -------- | ------------------------------- | ------------------------------ |
79| P0 | This issue is preventing | Less than 1 day. Don't go home |
80: : someone from getting work done : until this is fixed. :
81: : and doesn’t have a workaround. : :
82: : Examples include service : :
83: : outages, work-stopping issues, : :
84: : and build breakages : :
85| P1 | This issue requires rapid | Within the next 7 days |
86: : resolution, but can be dealt : :
87: : with on a slightly longer : :
88: : timeline than P0. Examples : :
89: : include issues that frequently : :
90: : hinder workflow, serious : :
91: : regressions, and ship-blocking : :
92: : issues : :
93| P2 | This issue is important to | Within the next month |
94: : resolve and may block releases. : :
95: : Examples include non-OKR : :
96: : feature requests and infrequent : :
97: : workflow issues. : :
98| P3 | This issue would be nice to | Less than 365 days |
99: : resolve, but it's not going to : :
100: : block any releases. Examples : :
101: : include nice-to-have feature : :
102: : requests, bugs that only : :
103: : affects a small set of use : :
104: : cases, and occasional issues. : :
105| P4 | Issue has not yet been | N/A (must triage in under 14 |
106: : prioritized. : days :
AndroidX Core Team2e416b22020-12-03 22:58:07 +0000107
108## Issue lifecycle
109
AndroidX Core Team0e7745f2021-04-08 17:00:10 +00001101. When an issue is reported, it is set to `Assigned` status for default
Ian Baker186108e2023-11-20 06:54:36 -0800111 assignee (typically the [library owner](/docs/owners.md))
AndroidX Core Team5fa61982023-01-13 10:43:41 -0500112 with a priority of **P4**.
AndroidX Core Team2e416b22020-12-03 22:58:07 +00001131. Once an issue has been triaged by the assignee, its priority will be raised
114 from **P4** according to severity.
1151. The issue may still be reassigned at this point.
Ian Baker186108e2023-11-20 06:54:36 -0800116 [Bug bounty](/docs/onboarding.md#bug-bounty) issues are
AndroidX Core Team5fa61982023-01-13 10:43:41 -0500117 likely to change assignees.
AndroidX Core Team2e416b22020-12-03 22:58:07 +00001181. A status of **Accepted** means the assignee is actively working on the
119 issue.
1201. A status of **Fixed** means that the issue has been resolved in the
121 development branch. Please note that it may take some time for the fix to
122 propagate into various release channels (internal repositories, Google
123 Maven, etc.). **Do not** re-open an issue because the fix has not yet
124 propagated into a specific release channel. **Do not** re-open an issue that
125 has been fixed unless the fix was reverted or the exact reported issue is
126 still occurring.
AndroidX Core Team2afabce2023-02-02 11:56:14 -05001271. A status of **WontFix** means that the issue cannot be resolved within a
128 year due to prioritization, staffing, etc. **Do not** re-open an issue that
129 has been marked as WontFix or file identical issues. Issues that are open to
130 reconsideration will be added to an internal hotlist and revisited when the
131 circumstances surrounding their closure have changed.