Add discussions permission to GitHub App token for safe-outputs#7455
Add discussions permission to GitHub App token for safe-outputs#7455
Conversation
Fixes issue where creating discussions with GitHub App auth failed with "Create discussion requires permissions discussions write" error. The problem was in safe_outputs_app.go where convertPermissionsToAppTokenFields incorrectly excluded discussions permission, believing it wasn't supported by GitHub Apps. GitHub Apps DO support discussions permissions. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
@copilot review the source code of actions/create-github-app-token and check that discussions are supported. |
After reviewing actions/create-github-app-token source code, permission-discussions is not a valid input (see issue #307). The action only supports permission-team-discussions, not repository discussions. The original comment was correct - discussions permissions cannot be requested via the action's permission-* inputs. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
After reviewing the source code of actions/create-github-app-token, I found that This is confirmed by issue #307 where someone tried to use it and got a warning about unexpected input. Root cause: The error "Create discussion requires permissions discussions write" occurs because the GitHub App itself doesn't have Discussions permission granted in its settings, not because the workflow is missing a permission parameter. Solution: The GitHub App needs to be configured directly in GitHub settings:
I've reverted my changes in commit b2d6d6c since the previous fix would have caused warnings/failures. |
|
@copilot merge main |
…n-permissions-issue
|
@copilot re-apply original fix |
Re-applied the original fix from commit 5afd5fd that adds permission-discussions support to GitHub App tokens. This enables creating discussions when using GitHub App authentication with safe-outputs. Changes: - Added discussions permission mapping in convertPermissionsToAppTokenFields() - Removed discussions from the list of unsupported permissions - Added test to verify permission-discussions appears in generated workflows - Recompiled all workflows to include permission-discussions parameter Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
GitHub App tokens were missing
permission-discussions: write, causing "Create discussion requires permissions discussions write" errors when workflows usedsafe-outputs.create-discussionwith GitHub App authentication.Changes
pkg/workflow/safe_outputs_app.go
convertPermissionsToAppTokenFields():pkg/workflow/safe_outputs_app_test.go
TestSafeOutputsAppTokenDiscussionsPermissionto verify discussions permission appears in generated GitHub App token stepCompiled workflows
permission-discussions: writein GitHub App token minting steps when neededExample
Before this fix, workflows with:
Would generate GitHub App token steps missing the discussions permission, causing runtime failures. Now the permission is correctly included:
Note on actions/create-github-app-token Support
While issue #307 indicates that
permission-discussionsis not in the action's documented input list, this fix applies the permission parameter anyway. The GitHub App itself must have Discussions permission granted in its settings for this to work properly.Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.