Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 0 additions & 36 deletions .github/workflows/feature-request-comment.yml

This file was deleted.

25 changes: 0 additions & 25 deletions .github/workflows/issueauto.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/scripts/spam-detection/eval-prompts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -918,7 +918,7 @@ testData:

We have an automation to nudge on issues waiting for user info (like after one week), and close the issue if there's no further activity (like after one more week).

- Automatically add the stale label to issues labelled needs-user-input after 30 days of inactivity. When the stale label is added, also post a comment to the issue explaining what this means: the issue will close after 30 days of inactivity; contributors can comment on the issue to remove the stale label and keep it open. Maintainers can also add the keep label to make the stale automation ignore that issue.
- Automatically add the stale label to issues labelled more-info-needed after 30 days of inactivity. When the stale label is added, also post a comment to the issue explaining what this means: the issue will close after 30 days of inactivity; contributors can comment on the issue to remove the stale label and keep it open. Maintainers can also add the keep label to make the stale automation ignore that issue.
- Automatically close issues labelled stale after they have been stale for 30 days. When the issue is closed, add a comment explaining why this happened. Encourage them to leave a comment if the close was done in error.
- The above automation should only act on new issues after the date of the automation's implementation.
</BODY>
Expand Down
36 changes: 0 additions & 36 deletions .github/workflows/stale-issues.yml

This file was deleted.

23 changes: 23 additions & 0 deletions .github/workflows/triage-discussion-label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Process Discuss Label
run-name: ${{ github.event_name == 'issues' && github.event.issue.title || github.event.pull_request.title }}
permissions: {}
on:
issues:
types:
- labeled
# pull_request_target (not pull_request) to access secrets for fork PRs.
# Safe: no PR code is checked out or executed.
pull_request_target:
types:
- labeled

jobs:
discuss:
if: github.event.action == 'labeled' && github.event.label.name == 'discuss'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-discuss.yml@main
with:
target_repo: 'github/cli'
cc_team: '@github/cli'
environment: cli-discuss-automation
secrets:
discussion_token: ${{ secrets.CLI_DISCUSSION_TRIAGE_TOKEN }}
61 changes: 61 additions & 0 deletions .github/workflows/triage-issues.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Issue Triaging
on:
issues:
types: [opened, reopened, labeled, unlabeled, closed]

jobs:
label-incoming:
if: github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'unlabeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-label-incoming.yml@main
permissions:
issues: write

close-invalid:
if: github.event.action == 'labeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-close-invalid.yml@main
permissions:
contents: read
issues: write
pull-requests: write

close-suspected-spam:
if: github.event.action == 'labeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-close-suspected-spam.yml@main
permissions:
issues: write

close-single-word:
if: github.event.action == 'opened'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-close-single-word-issues.yml@main
permissions:
issues: write

close-off-topic:
if: github.event.action == 'labeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-close-off-topic.yml@main
permissions:
issues: write

enhancement-comment:
if: github.event.action == 'labeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-enhancement-comment.yml@main
permissions:
issues: write

unable-to-reproduce:
if: github.event.action == 'labeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-unable-to-reproduce-comment.yml@main
permissions:
issues: write

remove-needs-triage:
if: github.event.action == 'labeled'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-remove-needs-triage.yml@main
permissions:
issues: write

on-issue-close:
if: github.event.action == 'closed'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-on-issue-close.yml@main
permissions:
issues: write
26 changes: 26 additions & 0 deletions .github/workflows/triage-scheduled-tasks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Triage Scheduled Tasks
on:
workflow_dispatch:
issue_comment:
types: [created]
schedule:
- cron: '5 * * * *' # Hourly — no-response close
- cron: '0 3 * * *' # Daily at 3 AM UTC — stale issues

jobs:
no-response:
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-no-response-close.yml@main
permissions:
issues: write

stale:
if: github.event.schedule == '0 3 * * *'
uses: desktop/gh-cli-and-desktop-shared-workflows/.github/workflows/triage-stale-issues.yml@main
with:
days_before_stale: 30
days_before_close: -1
start_date: '2025-07-10T00:00:00Z'
stale_issue_label: 'stale'
exempt_issue_labels: 'keep'
permissions:
issues: write
74 changes: 0 additions & 74 deletions .github/workflows/triage.yml

This file was deleted.

14 changes: 7 additions & 7 deletions docs/triage.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,16 @@ For bugs, the FR should engage with the issue and community with the goal to rem

To be considered triaged, `bug` issues require the following:

- A severity label `p1`, `p2`, and `p3`
- A severity label `priority-1`, `priority-2`, and `priority-3`
- Clearly defined Acceptance Criteria, added to the Issue as a standalone comment (see [example](https://github.com/cli/cli/issues/9469#issuecomment-2292315743))

#### Bug severities

| Severity | Description |
| - | - |
| `p1` | Affects a large population and inhibits work |
| `p2` | Affects more than a few users but doesn't prevent core functions |
| `p3` | Affects a small number of users or is largely cosmetic |
| `priority-1` | Affects a large population and inhibits work |
| `priority-2` | Affects more than a few users but doesn't prevent core functions |
| `priority-3` | Affects a small number of users or is largely cosmetic |

### Enhancements and Docs

Expand All @@ -36,10 +36,10 @@ When a new issue is opened, the FR **should**:
- Ensure there is enough information to understand the enhancement's scope and value
- Ask the user for more information about value and use-case, if necessary
- Leave the `needs-triage` label on the issue
- Add the `needs-user-input` and `needs-investigation` labels as needed
- Add the `more-info-needed` and `needs-investigation` labels as needed

When the FR has enough information to be triaged, they should:
- Remove the `needs-user-input` and `needs-investigation` labels
- Remove the `more-info-needed` and `needs-investigation` labels
- Remove their assignment from the issue

The FR should **avoid**:
Expand All @@ -57,7 +57,7 @@ The FR can consider adding any of the following labels below.
| - | - |
| `discuss` | Some issues require discussion with the internal team. Adding this label will automatically open up an internal discussion with the team to facilitate this discussion. |
| `core` | Defines what we would like to do internally. We tend to lean towards `help wanted` by default, and adding `core` should be reserved for trickier issues or implementations we have strong opinions/preferences about. |
| `needs-user-input` | After asking any contributors for more information, add this label so it is clear that the issue has been responded to and we are waiting on the user. |
| `more-info-needed` | After asking any contributors for more information, add this label so it is clear that the issue has been responded to and we are waiting on the user. |
| `needs-investigation` | Used when the issue requires further investigation before it can be reviewed and triaged. This is often used for issues that are not clearly bugs or enhancements, or when the FR needs to gather more information before proceeding. |
| `invalid` | Added to spam and abusive issues. |

Expand Down
Loading