Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

2024-02-01 New In February of 2024, FreePBX Open Source bug ticket handling was moved to GitHub. Prior to that, tickets were handled in a Jira instance at https://issues.freepbx.org hosted by the FreePBX project.

The current GitHub reporting procedure is outlined herein. As work processes evolve using this new processprocedure, this document will be updated.

...

Overview

Opening bug tickets at GitHub against FreePBX is a simple process. 

...

This will open a form with several fields for adding information. Fields marked with a red asterisk are required to must be populated. Review the explanatory text and fill out the fields as requirednecesary. When finished, complete the submission by clicking the green “Submit new issue“ button

...

  1. Please note that tickets are handled through a triage system and may not be handled in the order received.

  2. Our team monitors the bug tracker for blocker and show stopper issues but most tickets will be reviewed by members of the development team on regularly scheduled weekly triage meetings.

  3. As part of the triage process, tickets will be moved from the issue-tracker project to the FreePBX module project to which it’s related. Links to the original ticket will be maintained.

  4. Tickets may be resolved within minutes or it may take much longer. Please note a team member may change the priority - please do not change it back. The time it takes to resolve a ticket also depends on the effort required to resolve the issue. For most issues, we must be able to reproduce the issue to fix it.

Ticket Lifecycle

...

After a ticket is created, there is a workflow that is usedput in place, so that you (and everyone else) can see what the current status of your the ticket is. 

Triage

This it the initial state that all open source tickets start in. Once tickets are triaged during our weekly review meetings, they may go into the open state or you may be requested to include additional information. A ticket may be rejected at the triage stage if it’s determined not to be a valid ticket.

Needs Information

When you see the Status as NEEDS INFORMATION that means the ticket is awaiting a response from the original submitter. If there is no reply within two weeks time the ticket will automatically close. It may be reopened it if you can supply the needed feedback.

Open (Development State)

This is the state a ticket reaches right after triage. It may or may not be assigned to a developer.  Any bug in the Open status is considered as a new bug. If it has been assigned to a developer, it means that the developer has been allocated this bug as part of the Triage process. Another developer may take this bug, if they want. If another developer wishes to work on that bug, they should contact the developer who is currently assigned to this ticket. 

Dev Review (Development State)

This state was formerly called "In Review". Several states also call this "In Review" as a transition. A ticket should be in this state if there is an active Pull Request Waiting to be merged

In Progress (Development State)

When the Status is set to IN PROGRESS that means the team member has added it into their current work queue. Note developers may be actively working on multiple projects or issues. This state may last minutes or weeks depending on the issue. 

Selected for Development (Development State)

This means the ticket has been selected for development but is not currently in progress. It should be in progress shortly

On Hold (Development State)

This means the ticket us in an indefinite hold.

Resolved (QA State)

This means the ticket has finished the development cycle and is now awaiting the QA cycle. The ticket is finished from the developer's point of view.

QA New (QA State)

This ticket is awaiting the start of the QA cycle. The ticket has skipped development completely.

QA Progress (QA State)

The ticket is currently in progress as part of the QA cycle.

QA Review (QA State)

The ticket is currently in review as part of the QA cycle.

Closed

The ticket has been closed. Comments are still allowed

Admin Closed

The ticket has been closed and no comments are allowedThe issue lifecycle stage is managed with “Labels” on GitHub. As the issues moves through the various lifecycle stages, it’s labels are updated to reflect the current status. Quick summary:

Lifecycle Stage

GitHub Label

Description

Triage

image-20240212-124207.pngImage Added

All newly opened issues get the ‘triage’ label indicating that they are ready to be reviewed by the engineering team

Open

image-20240212-124228.pngImage Added

Once an issue has been triaged, before anything else is done, it’s moved to the ‘open’ stage.

In Progress

image-20240212-124310.pngImage Added

When an engineering team member is actively working on a ticket, the label changes to ‘in-progress’.

Dev Review

image-20240212-124355.pngImage Added

Code is committed to a branch and is ready for peer review

Resolved

image-20240212-124327.pngImage Added

Code is complete and changes have been merged. Marking the issue at this stage as ‘resolved’ indicates the merges are ready for QA. Code is published to the edge repo

Closed

Process is complete and code can be published to the stable repo.

In addition to the lifecycle stage, there are also a handful of labels used to add a descriptive element to tickets to indicate the issue type.

Issue Type

GitHub Label

Description

Bug

image-20240212-124527.pngImage Added

Issue describing a bug.

Improvement

image-20240212-124720.pngImage Added

Issue describing an improvement to an existing feature or functionality.

New Feature

image-20240212-124545.pngImage Added

Issue describing a new feature

Won’t Fix

image-20240212-124624.pngImage Added

Issue has been reviewed and deemed to be something that will not be fixed by Engineering.

Duplicate

image-20240212-124643.pngImage Added

Issue already exists

Needs
Information

image-20240212-124737.pngImage Added

Issue requires additional information in order to progress, either from the original reporter, or someone else.

Keeping your report alive

Bug issues may be closed for several reasons. It is important that you provide quality and timely information. Note IMPORTANT: the bug issue system is for bugs and is not for general questions, commentary or arbitrary discussion.  If you are unsure that your issue is actually a bug, or are unable to describe it in a way that allows others to reproduce it, it is best to first discuss the issue in the forums at http://community.freepbx.org.

...

Quality information is NOT:

  • 100,000 line Huge dumps of log files

  • Vague statements like "doesn't work", "I'm using FreePBX", “latest version”

If a ticket does not contain enough information a team member may ask you for more information. If no information is provided and the reporter does not provide a timely response, the issue may be closed as invalid.

...