lti-auto-configuration-action
Reusable GitHub Action wrapper for @oxctl/lti-auto-configuration.
Name
Description
Default
mode
Command to run with @oxctl/lti-auto-configuration: deploy, create, update, validate, export, delete, list, or init.
deploy
working-directory
Directory containing tool-config/default.json
.
canvas-url
Canvas host URL (required )
n/a
tool-support-url
Tool Support URL (required )
n/a
canvas-token
Canvas token (required )
n/a
tool-support-username
Tool Support username (required )
n/a
tool-support-password
Tool Support password (required )
n/a
node-config
Optional NODE_CONFIG JSON override
""
node-extra-ca-certs
Optional NODE_EXTRA_CA_CERTS path
""
Name
Description
client-id
LTI client ID from JSON summary (deploy, create, update) or export
external-tool-id
External tool ID from JSON command summary for deploy, create, or update
export-json
JSON summary (deploy, create, update) or full JSON from export
name : Update tool configuration
on :
workflow_dispatch :
jobs :
update :
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v6
- name : Render tool-config/default.json
run : |
mkdir -p tool-config
cp tool-config/template.json tool-config/default.json
- name : Deploy LTI configuration
id : lti
uses : ./
with :
mode : deploy
canvas-url : ${{ secrets.CANVAS_HOST }}
tool-support-url : ${{ secrets.TOOL_SUPPORT_URL }}
canvas-token : ${{ secrets.CANVAS_TOKEN }}
tool-support-username : ${{ secrets.TOOL_SUPPORT_USERNAME }}
tool-support-password : ${{ secrets.TOOL_SUPPORT_PASSWORD }}
- name : Use generated client ID
run : |
echo "Client ID: ${{ steps.lti.outputs.client-id }}"
echo "External Tool ID: ${{ steps.lti.outputs.external-tool-id }}"
All modes are passed directly through to the CLI.
deploy, create, and update use --json summary output and always publish client-id, external-tool-id, and export-json.
The action always writes ~/.tool-config/default.json from its inputs before running the CLI.
The action installs a pinned @oxctl/lti-auto-configuration@2.7.0.
validate currently does not generate outputs.
export publishes client-id and export-json.
delete, list, and init do not generate outputs.
The action currently manages its own Node runtime and uses Node 24 LTS internally.