Skip to content

Add remove_label field to label_command to disable automatic label removal#21751

Merged
pelikhan merged 8 commits intomainfrom
copilot/add-disable-remove-label-field
Mar 19, 2026
Merged

Add remove_label field to label_command to disable automatic label removal#21751
pelikhan merged 8 commits intomainfrom
copilot/add-disable-remove-label-field

Conversation

Copy link
Contributor

Copilot AI commented Mar 19, 2026

label_command always removes the triggering label — there's no way to keep it. This adds a remove_label: false option to the object form that skips label removal and drops the associated write permissions.

Changes

  • Schema (main_workflow_schema.json): Added remove_label boolean field to the label_command object form
  • Extraction (frontmatter_extraction_yaml.go): extractLabelCommandConfig returns a third value removeLabel bool (defaults true)
  • WorkflowData (compiler_types.go): Added LabelCommandRemoveLabel bool field
  • Activation job (compiler_activation_job.go):
    • Skips remove_trigger_label step when remove_label: false
    • Emits a get_trigger_label github-script step (via get_trigger_label.cjs) that safely resolves the triggering command name for workflow_dispatch and non-labeled events
    • Adds a unified command_name activation output usable by both label_command and slash_command workflows
    • Passes GH_AW_MATCHED_COMMAND env var from check_command_position when the workflow also has a slash_command trigger
    • Omits issues:write / discussions:write and GitHub App token scopes when removal is disabled
  • get_trigger_label.cjs (new): JavaScript file implementing the label/command name resolution logic, outputting both label_name and a unified command_name
  • get_trigger_label.test.cjs (new): Tests covering labeled events (issues, PR, discussion), workflow_dispatch, slash-command context, and precedence rules

Example

on:
  label_command:
    name: deploy
    remove_label: false   # label stays on item; no write permissions requested
engine: copilot

Downstream jobs can access ${{ needs.activation.outputs.command_name }} regardless of whether the workflow was triggered by a label or a slash command.

Original prompt

Add a field to the object form of label_command to disable the "remove-label" behavior. Update permissions when it is disabled.


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…removal

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot AI changed the title [WIP] Add field to label_command form to disable remove-label behavior Add remove_label field to label_command to disable automatic label removal Mar 19, 2026
Copilot AI requested a review from pelikhan March 19, 2026 06:49
@pelikhan pelikhan marked this pull request as ready for review March 19, 2026 11:47
Copilot AI review requested due to automatic review settings March 19, 2026 11:47
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a remove_label: false option to the label_command object form to allow workflows to keep the triggering label applied, while avoiding unnecessary write permissions/token scopes when label removal is disabled.

Changes:

  • Extended the workflow schema to accept remove_label under on.label_command (object form).
  • Updated frontmatter extraction + WorkflowData to carry a LabelCommandRemoveLabel flag (defaulting to true).
  • Adjusted activation job generation to skip the label-removal step and reduce requested permissions when removal is disabled; added tests for default vs disabled behavior.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
pkg/parser/schemas/main_workflow_schema.json Adds remove_label boolean to the label_command object schema.
pkg/workflow/frontmatter_extraction_yaml.go Extracts remove_label and returns it from extractLabelCommandConfig.
pkg/workflow/compiler_types.go Stores the new LabelCommandRemoveLabel flag in WorkflowData.
pkg/workflow/compiler_orchestrator_workflow.go Wires extracted remove_label into WorkflowData.
pkg/workflow/compiler_activation_job.go Skips remove-label step and prunes permissions/scopes when removal is disabled; sets label_command output fallback.
pkg/workflow/label_command_test.go Adds tests covering remove_label: false and default behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

You can also share your feedback on Copilot code review. Take the survey.

Comment on lines +340 to +342
// When remove_label is disabled, expose the triggering label name directly from the event
// so downstream jobs can still access it via needs.activation.outputs.label_command.
outputs["label_command"] = "${{ github.event.label.name }}"
@pelikhan
Copy link
Contributor

@copilot review comments

…alse

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

@copilot review comments

Fixed in 278dfba. Instead of the bare ${{ github.event.label.name }} expression, I now emit a lightweight get_trigger_label github-script step (similar pattern to remove_trigger_label.cjs) that explicitly handles workflow_dispatch by outputting an empty string and reads context.payload?.label?.name safely for labeled events.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw hxvKWdPQZ1By (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw g/workflow/actio-C g/workflow/actio/home/REDACTED/work/gh-aw/gh-aw/.github/workflows x_amd64/cgo g/wo�� g/workflow/action_reference.go .cfg 64/pkg/tool/linux_amd64/vet g/workflow/actio/usr/bin/gh g/workflow/actioapi g/workflow/actiographql 64/pkg/tool/linu-f (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha ble-remove-label-field^{commit} .cfg 64/pkg/tool/linux_amd64/vet (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha h ../../../.prettierignore (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility json&#39; --ignore-premote.origin.url (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha re --log-level=error (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Contributor

@copilot the get trigger label name should compute a unified "command_name" output that works for slash_command and label_command. Move logic to JavaScript file, add tests

…d_name output and tests

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

@copilot the get trigger label name should compute a unified "command_name" output that works for slash_command and label_command. Move logic to JavaScript file, add tests

Done in e38d771. Created get_trigger_label.cjs with a unified command_name output:

  • Labeled eventscommand_name = label name
  • Non-labeled events / slash_commandcommand_name = GH_AW_MATCHED_COMMAND env var (passed from check_command_position when the workflow also has a slash_command trigger)
  • workflow_dispatchcommand_name = "" (or matched command if the env var is set)

The activation job now sets outputs["command_name"] from this step, alongside the existing label_command output. Added get_trigger_label.test.cjs with 8 tests covering all event types.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw util (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw WG4VflpYbd3DNNak-1 (http block)
  • https://api.github.com/orgs/test-owner/actions/secrets
    • Triggering command: /usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name json.tool (http block)
  • https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1
    • Triggering command: /usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha /tmp/gh-aw-test-runs/20260319-123654-15320/test-3938426019 status /usr/bin/git .github/workflowgit /tmp/go-build326rev-parse k/gh-aw/gh-aw/no--show-toplevel git init�� (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v3
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha --noprofile 64/pkg/tool/linurev-parse 0/x64/bin/node th .prettierignogit cfg odules/npm/node_--show-toplevel 0/x64/bin/node -o ons-test4051586350 -trimpath /usr/bin/git -p main -lang=go1.25 git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v5
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ithub/workflows --write /snap/bin/sh --ignore-path .prettierignore ed } } sh -c est.cjs pkg/cli/actions_build_command.go util.test l (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel /opt/hostedtoolcremote.origin.url /usr/bin/git rite &#39;../../../*git -buildtags x_amd64/vet git rev-�� --show-toplevel x_amd64/vet /usr/bin/git ithub/workflows -tests /opt/hostedtoolc--show-toplevel git (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel oJ/BhqTCoRMGewfss9ZXZGY/X4XoDkfiiEtxJ64HjgrP /usr/bin/git k/gh-aw/gh-aw/.ggit config .cfg git rev-�� --show-toplevel infocmp /usr/bin/git ai-moderator.md x_amd64/vet 0/x64/bin/node git (http block)
  • https://api.github.com/repos/actions/checkout/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha add origin 8052392/b449/workflow.test */*.json&#39; &#39;!../.git get_trigger_laberev-parse /opt/hostedtoolc--show-toplevel 8052392/b449/workflow.test e=/t�� t0 /opt/hostedtoolc-buildtags (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --get remote.origin.url /usr/bin/git &#34;vitest&#34; run getgit (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git g_.a (http block)
  • https://api.github.com/repos/actions/github-script/git/ref/tags/v8
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha 7796584/b001/_pkremote.origin.url (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha &#39;**/*.ts&#39; &#39;**/*.remote.origin.url 677011/b124/vet.cfg r: $owner, name: $name) { hasDiscussionsEnabled } } (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha se 677011/b066/vet.owner=github x86_64/node (http block)
  • https://api.github.com/repos/actions/setup-go/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha user.name Test User /usr/bin/git vitest run nfig/composer/ve--show-toplevel git bran�� --show-current /opt/hostedtoolc-buildtags /usr/bin/git -unreachable=falgit /tmp/go-build326rev-parse repository(owne--show-toplevel git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --get remote.origin.url /usr/bin/git */*.json&#39; &#39;!../.git run sh git chec�� -b feature-branch /usr/bin/git -unreachable=falgit /tmp/go-build326rev-parse ache/node/24.14.--show-toplevel git (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha --local cfg $name) { hasDiscussionsEnabled } } (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha x55To0DC_ user.email $name) { hasDiscussionsEnabled } } (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha on&#39; --ignore-patremote.origin.url /tmp/go-build2688052392/b449/wor--log-level=error $name) { hasDiscussionsEnabled } } -test.paniconexigit -test.v=true /usr/bin/git git rev-�� ./../pkg/workfloremote.origin.url git cfg --show-toplevel sh /usr/bin/git git (http block)
  • https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4
    • Triggering command: /usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha 8052392/b424/_pkg_.a -f 0/x64/bin/node -f b/gh-aw/pkg/parsrev-parse -f git t-ha�� ithub/workflows/agent-performance-analyzer.md l /opt/hostedtoolcache/node/24.14.0/x64/bin/node on&#39; --ignore-patgit credential.helperev-parse 64/pkg/tool/linu--show-toplevel 8052392/b424/importcfg (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha (http block)
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ath ../../../.pr**/*.json --package-lock-o--ignore-path /usr/bin/git /tmp/go-build268sh resolved$ /usr/bin/git git rev-�� re --log-level=error git x_amd64/compile --show-toplevel -extld=gcc /usr/bin/git x_amd64/compile (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility get --local r: $owner, name: $name) { hasDiscussionsEnabled } } user.name (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility --show-toplevel git r: $owner, name: $name) { hasDiscussionsEnabled } } --show-toplevel /opt/hostedtoolcapi /usr/bin/git git ode_�� --show-toplevel git developer-action-main/autofind/autofind --show-toplevel x_amd64/vet /usr/bin/git developer-actionmcp/context7 (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha 8052392/b431/_pkg_.a mcp/markitdown 0/x64/bin/node get b/gh-aw/pkg/slicrev-parse ode_modules/.bin--show-toplevel git t-ha�� ithub/workflows/agent-persona-explorer.md rev-parse ache/node/24.14.0/x64/bin/node --local user.email $name) { has--show-toplevel 8052392/b431/importcfg (http block)
  • https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha t0 rev-parse (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts
    • Triggering command: /usr/bin/gh gh run download 1 --dir test-logs/run-1 on x_amd64/compile /../../.prettiergit erignore ed } } x_amd64/compile -c k/gh-aw/gh-aw/.github/workflows -tests me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts
    • Triggering command: /usr/bin/gh gh run download 12345 --dir test-logs/run-12345 on rkflow/js/**/*.j-importcfg /../../.prettiergit erignore -nilfunc sh -c k/gh-aw/gh-aw/.github/workflows -tests me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts
    • Triggering command: /usr/bin/gh gh run download 12346 --dir test-logs/run-12346 on rkflow/js/**/*.json /../../.prettiergit erignore ed } } sh -c npx prettier --write &#39;**/*.cjs&#39; &#39;**/*.ts&#39; &#39;**/*.remote.origin.url -tests er: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnablgithub.repository (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts
    • Triggering command: /usr/bin/gh gh run download 2 --dir test-logs/run-2 -buildtags x_amd64/compile -errorsas -ifaceassert -nilfunc x_amd64/compile /opt�� ithub/workflows --write /home/REDACTED/.local/bin/node **/*.ts **/*.json --ignore-path node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts
    • Triggering command: /usr/bin/gh gh run download 3 --dir test-logs/run-3 -buildtags me: String!) { repository(owne-nilfunc /../../.prettiergit -ifaceassert ode_modules/viteuser.name ode_modules/viteTest User estl�� --write **/*.cjs er: String!, $name: String!) { repository(owne-f **/*.json --ignore-path ../../../.pretti/home/REDACTED/work/gh-aw/gh-aw/.github/workflows/audit-workflows.md node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts
    • Triggering command: /usr/bin/gh gh run download 4 --dir test-logs/run-4 -buildtags x_amd64/vet -errorsas -ifaceassert -nilfunc x_amd64/vet /opt�� ithub/workflows --write /home/REDACTED/go/bin/node **/*.ts **/*.json ed } } node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts
    • Triggering command: /usr/bin/gh gh run download 5 --dir test-logs/run-5 -buildtags /home/REDACTED/work/gh-aw/gh-aw/ac-test.short=true -errorsas -ifaceassert ed } } node /opt�� k/gh-aw/gh-aw/.github/workflows --write me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l **/*.json --ignore-path node (http block)
  • https://api.github.com/repos/github/gh-aw/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path se 677011/b017/vet.owner=github cfg (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 (http block)
    • Triggering command: /usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 -ifaceassert -nilfunc npm run k/gh-aw/gh-aw/.github/workflows --silent me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } l (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha -bool l /home/REDACTED/node_modules/.bin/node -errorsas -ifaceassert -nilfunc node /hom�� y_only_defaults_repo2456447865/001 **/*.cjs me: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } **/*.json --ignore-path ../../../.pretti--show-toplevel sh (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha .js&#39; --ignore-path .prettierignore --log-level=e!../../../pkg/workflow/js/**/*.json 677011/b201/vet.cfg r: $owner, name: $name) { hasDiscussionsEnabled } } (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha .js&#39; --ignore-path .prettierignoremote.origin.url 677011/b179/vet.cfg ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha .js&#39; --ignore-path .prettierignore --log-level=e!../../../pkg/workflow/js/**/*.json 677011/b210/vet.cfg tions/setup/node_modules/.bin/node (http block)
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha .js&#39; --ignore-path .prettierignore --log-level=error 677011/b213/vet.cfg repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } (http block)
  • https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha .js&#39; --ignore-path .prettierignore --log-level=e!../../../pkg/workflow/js/**/*.json 677011/b206/vet.cfg r: $owner, name: $name) { hasDiscussionsEnabled } } (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha re --log-level=e!../../../pkg/workflow/js/**/*.json (http block)
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha --show-toplevel git -main/autofind/autofind .github/workflow./gh-aw -extld=gcc /usr/bin/git -main/autofind/autofind main�� js/**/*.json&#39; --ignore-path ../../../.prettierignore on /usr/bin/git --detach test@example.comapi /usr/bin/git git (http block)
  • https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999
    • Triggering command: /usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ithub/workflows -tests /node_modules/.bin/node (http block)
  • https://api.github.com/repos/nonexistent/repo/actions/runs/12345
    • Triggering command: /usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion ./../.prettierignode (http block)
  • https://api.github.com/repos/owner/repo/actions/workflows
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo cfg (http block)
    • Triggering command: /usr/bin/gh gh workflow list --json name,state,path --repo owner/repo tions/setup/node_modules/.bin/node (http block)
  • https://api.github.com/repos/owner/repo/contents/file.md
    • Triggering command: /tmp/go-build2688052392/b399/cli.test /tmp/go-build2688052392/b399/cli.test -test.testlogfile=/tmp/go-build2688052392/b399/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true (http block)
  • https://api.github.com/repos/test-owner/test-repo/actions/secrets
    • Triggering command: /usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name 677011/b364/_pkg-f (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Contributor

Copilot AI and others added 2 commits March 19, 2026 13:09
…endenciesCompilationWithEnv

Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

@copilot fix https://github.com/github/gh-aw/actions/runs/23295354727/job/67741780323

Fixed in b2aab21. The CI failure was TestAPMDependenciesCompilationWithEnv — a new test from ac62a1b on main that exercises env: under dependencies:. That commit added Go code + test but missed updating the JSON schema. The fix: merged main and added env as an additionalProperties: string object to the dependencies schema object form.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw &#34;$k=&#34;.$v[&#34;local/home/REDACTED/.npm/_npx/b388654678d519d9/node_modules/.bin/prettier (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw ota=5% yHigh=170M ache/go/1.25.0/x64/pkg/tool/linu-goversion /pre�� se 1364045/b027/vet.cfg .cfg (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha on&#39; --ignore-patremote.origin.url (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ath ../../../.pr**/*.json --local ache/go/1.25.0/x../../../.prettierignore credential.usernsh (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility --noprofile tmain.go r: $owner, name: $name) { hasDiscussionsEnabled } } (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha se 1364045/b024/vet.cfg .cfg (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan
Copy link
Contributor

@copilot merge main

…emove-label-field

# Conflicts:
#	pkg/workflow/compiler_activation_job.go
Copy link
Contributor Author

Copilot AI commented Mar 19, 2026

@copilot merge main

Done in 6ac6352. Merged 026f66e (Move reaction step after generate_aw_info). Resolved the conflict in compiler_activation_job.go by applying the shouldRemoveLabel logic to the new earlier app-token block that main introduced.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/graphql
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw kQ/doAi1YgR0cCdf-c (http block)
    • Triggering command: /usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw rt/yaml (http block)
  • https://api.github.com/repos/actions/setup-node/git/ref/tags/v6
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha -2.15.1.3-py3.12remote.origin.url --local $name) { hasDiscussionsEnabled } } user.name (http block)
    • Triggering command: /usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha rt --local $name) { hasDiscussionsEnabled } } user.name (http block)
  • https://api.github.com/repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b
    • Triggering command: /usr/bin/gh gh api /repos/astral-sh/setup-uv/git/ref/tags/eac588ad8def6316056a12d4907a9d4d84ff7a3b --jq .object.sha ath ../../../.pr**/*.json (http block)
  • https://api.github.com/repos/github/gh-aw
    • Triggering command: /usr/bin/gh gh api /repos/github/gh-aw --jq .visibility on&#39; --ignore-patremote.origin.url .cfg r: $owner, name: $name) { hasDiscussionsEnabled } } http.https://gitgit (http block)
  • https://api.github.com/repos/githubnext/agentics/git/ref/tags/
    • Triggering command: /usr/bin/gh gh api /repos/githubnext/agentics/git/ref/tags/# --jq .object.sha re --log-level=e!../../../pkg/workflow/js/**/*.json (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@pelikhan pelikhan merged commit 6b25513 into main Mar 19, 2026
48 of 49 checks passed
@pelikhan pelikhan deleted the copilot/add-disable-remove-label-field branch March 19, 2026 13:57
github-actions bot added a commit that referenced this pull request Mar 19, 2026
Add documentation for the `remove_label` boolean field on the
`label_command` trigger (added in #21751). When set to false,
the matched label is not removed after activation, making the
trigger behave as a persistent state marker rather than a one-shot
command. Documents the permission implication: remove_label: false
means issues/pull-requests write is not needed for label removal.

Updated files:
- docs/src/content/docs/reference/triggers.md
- docs/src/content/docs/patterns/label-ops.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants