spfx project github workflow add
Adds a GitHub workflow for a SharePoint Framework project
Usage
m365 spfx project github workflow add [options]
Options
-n, --name [name]
Name of the workflow that will be created. If none is specified a default name will be used 'Deploy Solution ${name of sppkg file}'
-b, --branchName [branchName]
Specify the branch name which should trigger the workflow on push. If none is specified a default will be used which is 'main'
-m, --manuallyTrigger
When specified a manual trigger option will be added to the workflow:
workflow_dispatch
-l, --loginMethod [loginMethod]
Specify the login method used for the login action. Possible options are:
user
,application
. Defaultapplication
'-s, --scope [scope]
Scope of the app catalog:
tenant
,sitecollection
. Default istenant
-u, --siteUrl [siteUrl]
The URL of the site collection where the solution package will be added. Required if scope is set to
sitecollection
--skipFeatureDeployment
When specified and the app supports tenant-wide deployment, deploy it to the whole tenant
--overwrite
When specified the workflow will overwrite the existing .sppkg if it is already deployed in the app catalog.
-h, --help [help]
Output usage information. Optionally, specify which section of command's help you want to see. Allowed values are
options
,examples
,remarks
,response
,full
. Default isoptions
.--query [query]
JMESPath query string. See http://jmespath.org/ for more information and examples.
-o, --output [output]
Output type.
json
,text
,csv
,md
,none
. Defaultjson
.--verbose
Runs command with verbose logging.
--debug
Runs command with debug logging.
Remarks
The spfx project github workflow add
will create a workflow .yml file in the .github/workflows
directory in your project. If such directory does not exist the command will automatically create it.
For the application
login method the command does not register a Microsoft Entra application nor create the required certificate. In order for you to proceed you will need to first obtain (create) a self-signed certificate and register a new Microsoft Entra application with certificate authentication. After that in GitHub repo settings, you will need to create the following secrets:
APP_ID
- client id of the registered Microsoft Entra applicationCERTIFICATE_ENCODED
- application's encoded certificateCERTIFICATE_PASSWORD
- certificate password. This applies only if the certificate is encoded which is the recommended approach
This use case is perfect in a production context as it does not create any dependencies on an account
For the user
login method you will need to create the following secrets in GitHub repo settings:
ADMIN_USERNAME
- usernameADMIN_PASSWORD
- password
This method is perfect to test your workflow, in a dev context, for personal usage. It will not work for accounts with MFA.
Run this command in the SPFx solution folder.
Examples
Adds a GitHub workflow for a SharePoint Framework project with application
login method triggered on push to main
m365 spfx project github workflow add
Adds a GitHub workflow for a SharePoint Framework project with user
login method triggered on push to main and when manually triggered.
m365 spfx project github workflow add --manuallyTrigger --loginMethod "user"
Adds a GitHub workflow for a SharePoint Framework project with deployment to a site collection app catalog
m365 spfx project github workflow add --scope "sitecollection" --siteUrl "https://some.sharepoint.com/sites/someSite"
Response
The command won't return a response on success.
More information
- Automate your CI/CD workflow using CLI for Microsoft 365 GitHub Actions: https://pnp.github.io/cli-microsoft365/user-guide/github-actions