Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removes aad aliases. Closes #5676 #6131

Closed
wants to merge 2 commits into from
Closed
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
201 changes: 201 additions & 0 deletions .github/workflows/release_v9.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
name: Release v9

on:
push:
branches: [v9]

jobs:
build:
if: github.repository_owner == 'pnp'
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
node: [20]

steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
registry-url: 'https://registry.npmjs.org'
- name: Cache node modules
id: cache
uses: actions/cache@v4
with:
path: |
**/node_modules
key: node_modules-${{ matrix.os }}-${{ matrix.node }}-${{ hashFiles('**/npm-shrinkwrap.json') }}
- name: Restore dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- name: Build
run: npm run build
- name: Compress output (non-Windows)
if: matrix.os != 'windows-latest'
run: tar -cvf build.tar --exclude node_modules ./
- name: Compress output (Windows)
if: matrix.os == 'windows-latest'
run: 7z a -ttar -xr!node_modules -r build.tar .
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: build-${{ matrix.os }}-${{ matrix.node }}
path: build.tar
test:
if: github.repository_owner == 'pnp'
needs: build
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest, ubuntu-latest]
# node versions to run tests on
nodeRun: [20]
# node version on which code was built and should be tested
nodeBuild: [20]
include:
- os: ubuntu-latest
nodeRun: 18
nodeBuild: 20

steps:
- name: Configure pagefile
if: matrix.os == 'windows-latest'
uses: al-cheb/configure-pagefile-action@v1.4
with:
minimum-size: 16GB
disk-root: "C:"
- uses: actions/download-artifact@v4
with:
name: build-${{ matrix.os }}-${{ matrix.nodeBuild }}
- name: Unpack build artifact (non-Windows)
if: matrix.os != 'windows-latest'
run: tar -xvf build.tar && rm build.tar
- name: Unpack build artifact (Windows)
if: matrix.os == 'windows-latest'
run: 7z x build.tar && del build.tar
- name: Use Node.js ${{ matrix.nodeRun }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.nodeRun }}
registry-url: 'https://registry.npmjs.org'
- name: Cache node modules
id: cache
uses: actions/cache@v4
with:
path: |
**/node_modules
key: node_modules-${{ matrix.os }}-${{ matrix.nodeBuild }}-${{ hashFiles('**/npm-shrinkwrap.json') }}
- name: Restore dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- name: Test with coverage
# we run coverage only on Node that was used to build
if: matrix.nodeRun == matrix.nodeBuild
run: npm test
- name: Test without coverage
# we want to run tests on older Node versions to ensure that code works
if: matrix.nodeRun != matrix.nodeBuild
run: npm run test:test
- name: Compress output (non-Windows)
if: matrix.nodeRun == matrix.nodeBuild && matrix.os != 'windows-latest' && always()
run: tar -cvf coverage.tar coverage
- name: Compress output (Windows)
if: matrix.nodeRun == matrix.nodeBuild && matrix.os == 'windows-latest' && always()
run: 7z a -ttar -r coverage.tar coverage
- uses: actions/upload-artifact@v4
if: matrix.nodeRun == matrix.nodeBuild && always()
with:
name: coverage-${{ matrix.os }}-${{ matrix.nodeRun }}
path: coverage.tar

publish_v9:
if: github.repository_owner == 'pnp'
needs: test
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write

steps:
- uses: actions/download-artifact@v4
with:
name: build-ubuntu-latest-20
- name: Unpack build artifact
run: tar -xvf build.tar && rm build.tar
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- name: Cache node modules
id: cache
uses: actions/cache@v4
with:
path: |
**/node_modules
key: node_modules-ubuntu-latest-20-${{ hashFiles('**/npm-shrinkwrap.json') }}
- name: Restore dependencies
if: steps.cache.outputs.cache-hit != 'true'
run: npm ci
- name: Stamp beta to package version
run: node scripts/update-package-version.js $GITHUB_SHA
- name: Publish @nine
run: npm publish --tag nine --access public --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
- name: Compress output
run: tar -cvf build.tar --exclude node_modules ./
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: build-ubuntu-latest-20
path: build.tar
overwrite: true

deploy_docker:
if: github.repository_owner == 'pnp'
needs: publish_v9
runs-on: ubuntu-latest

steps:
- uses: actions/download-artifact@v4
with:
name: build-ubuntu-latest-20
- name: Unpack build artifact
run: tar -xvf build.tar && rm build.tar
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
registry-url: 'https://registry.npmjs.org'
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract version from package
id: package_version
run: |
echo "version=$(node -p "require('./package.json').version")" >> $GITHUB_OUTPUT
- name: Wait for npm publish
run: node scripts/wait-npm-publish.js nine ${{ steps.package_version.outputs.version }}
- name: Build and push ${{ steps.package_version.outputs.version }}
uses: docker/build-push-action@v5
with:
push: true
tags: m365pnp/cli-microsoft365:${{ steps.package_version.outputs.version }}
build-args: |
CLI_VERSION=${{ steps.package_version.outputs.version }}
- name: Build and push nine
uses: docker/build-push-action@v5
with:
push: true
tags: m365pnp/cli-microsoft365:nine
build-args: |
CLI_VERSION=${{ steps.package_version.outputs.version }}
18 changes: 6 additions & 12 deletions docs/docs/cmd/spo/group/group-member-add.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,32 +25,26 @@ m365 spo group member add [options]
: Name of the SharePoint Group to which the user needs to be added. Specify either `groupId` or `groupName`.

`--userNames [userNames]`
: User's UPN (user principal name, eg. megan.bowen@contoso.com). If multiple users need to be added, they have to be comma-separated (e.g. megan.bowen@contoso.com,alex.wilber@contoso.com). Specify either `userIds`, `userNames`, `emails`, `aadGroupIds` or `aadGroupNames`.
: User's UPN (user principal name, eg. megan.bowen@contoso.com). If multiple users need to be added, they have to be comma-separated (e.g. megan.bowen@contoso.com,alex.wilber@contoso.com). Specify either `userIds`, `userNames`, `emails`, `entraGroupIds` or `entraGroupNames`.

`--emails [emails]`
: User's email (eg. megan.bowen@contoso.com). If multiple users need to be added, they have to be comma-separated (e.g. megan.bowen@contoso.com,alex.wilber@contoso.com). Specify either `userIds`, `userNames`, `emails`, `aadGroupIds` or `aadGroupNames`.
: User's email (eg. megan.bowen@contoso.com). If multiple users need to be added, they have to be comma-separated (e.g. megan.bowen@contoso.com,alex.wilber@contoso.com). Specify either `userIds`, `userNames`, `emails`, `entraGroupIds` or `entraGroupNames`.

`--userIds [userIds]`
: The user Id of the user to add as a member. (Id of the site user, for example: 14) If multiple users need to be added, the Ids have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `aadGroupIds` or `aadGroupNames`.
: The user Id of the user to add as a member. (Id of the site user, for example: 14) If multiple users need to be added, the Ids have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `entraGroupIds` or `entraGroupNames`.

`--entraGroupIds [entraGroupIds]`
: The object Id of the Entra group to add as a member. If multiple groups need to be added, the Ids have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `aadGroupIds`, `entraGroupIds`, `aadGroupNames`, or `entraGroupNames`.

`--aadGroupIds [aadGroupIds]`
: (deprecated. Use `entraGroupIds` instead) The object ID of the Microsoft Entra group to add as a member. If multiple groups need to be added, the Ids have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `aadGroupIds`, `entraGroupIds`, `aadGroupNames`, or `entraGroupNames`.
: The object Id of the Entra group to add as a member. If multiple groups need to be added, the Ids have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `entraGroupIds`, or `entraGroupNames`.

`--entraGroupNames [entraGroupNames]`
: The name of the Entra group to add as a member. If multiple groups need to be added, they have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `aadGroupIds`, `entraGroupIds`, `aadGroupNames`, or `entraGroupNames`.

`--aadGroupNames [aadGroupNames]`
: (deprecated. Use `entraGroupNames` instead) The name of the Microsoft Entra group to add as a member. If multiple groups need to be added, they have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `aadGroupIds`, `entraGroupIds`, `aadGroupNames`, or `entraGroupNames`.
: The name of the Entra group to add as a member. If multiple groups need to be added, they have to be comma-separated. Specify either `userIds`, `userNames`, `emails`, `entraGroupIds`, or `entraGroupNames`.
```

<Global />

## Remarks

For the `userIds`, `userNames`, `emails`, `aadGroupIds`, `entraGroupIds`, `aadGroupNames`, or `entraGroupNames` options you can specify multiple values by separating them with a comma. If one of the specified entries is not valid, the command will fail with an error message showing the list of invalid values.
For the `userIds`, `userNames`, `emails`, `entraGroupIds`, or `entraGroupNames` options you can specify multiple values by separating them with a comma. If one of the specified entries is not valid, the command will fail with an error message showing the list of invalid values.

## Examples

Expand Down
16 changes: 5 additions & 11 deletions docs/docs/cmd/spo/group/group-member-remove.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,19 @@ m365 spo group member remove [options]
: Name of the SharePoint group from which user has to be removed. Specify either `groupName` or `groupId`, but not both.

`--userName [userName]`
: The UPN (user principal name, eg. megan.bowen@contoso.com) of the user that needs to be removed. Specify either `userName`, `email`, `userId`, `aadGroupId` or `aadGroupName`.
: The UPN (user principal name, eg. megan.bowen@contoso.com) of the user that needs to be removed. Specify either `userName`, `email`, `userId`, `entraGroupId` or `entraGroupName`.

`--email [email]`
: The email of the user to remove as a member. Specify either `userName`, `email`, `userId`, `aadGroupId` or `aadGroupName`.
: The email of the user to remove as a member. Specify either `userName`, `email`, `userId`, `entraGroupId` or `entraGroupName`.

`--userId [userId]`
: The user Id (Id of the site user, eg. 14) of the user to remove as a member. Specify either `userName`, `email`, `userId`, `aadGroupId` or `aadGroupName`.
: The user Id (Id of the site user, eg. 14) of the user to remove as a member. Specify either `userName`, `email`, `userId`, `entraGroupId` or `entraGroupName`.

`--entraGroupId [entraGroupId]`
: The object Id of the Entra group to remove as a member. Specify either `userName`, `email`, `userId`, `aadGroupId`, `entraGroupId`, `aadGroupName`, or `entraGroupName`.

`--aadGroupId [aadGroupId]`
: (deprecated. Use `entraGroupId` instead) The object ID of the Microsoft Entra group to remove as a member. Specify either `userName`, `email`, `userId`, `aadGroupId`, `entraGroupId`, `aadGroupName`, or `entraGroupName`.
: The object Id of the Entra group to remove as a member. Specify either `userName`, `email`, `userId`, `entraGroupId`, or `entraGroupName`.

`--entraGroupName [entraGroupName]`
: The name of the Entra group to remove as a member. Specify either `userName`, `email`, `userId`, `aadGroupId`, `entraGroupId`, `aadGroupName`, or `entraGroupName`.

`--aadGroupName [aadGroupName]`
: (deprecated. Use `entraGroupName` instead) The name of the Microsoft Entra group to remove as a member. Specify either `userName`, `email`, `userId`, `aadGroupId`, `entraGroupId`, `aadGroupName`, or `entraGroupName`.
: The name of the Entra group to remove as a member. Specify either `userName`, `email`, `userId`, `entraGroupId`, or `entraGroupName`.
```

<Global />
Expand Down
7 changes: 2 additions & 5 deletions docs/docs/cmd/spo/user/user-ensure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,10 @@ m365 spo user ensure [options]
: Absolute URL of the site.

`--entraId [--entraId]`
: Id of the user in Entra. Specify either `aadId`, `entraId`, or `userName`.

`--aadId [--aadId]`
: (deprecated. Use `entraId` instead) Id of the user in Microsoft Entra. Specify either `aadId`, `entraId`, or `userName`.
: Id of the user in Entra. Specify either `entraId` or `userName`.

`--userName [userName]`
: User's UPN (user principal name, e.g. john@contoso.com). Specify either `aadId`, `entraId`, or `userName`.
: User's UPN (user principal name, e.g. john@contoso.com). Specify either `entraId` or `userName`.
```

<Global />
Expand Down
3 changes: 0 additions & 3 deletions docs/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,6 @@ const config: Config = {
'client-redirects',
{
createRedirects(routePath) {
if (routePath.includes('/entra')) {
return [routePath.replace('/entra', '/aad')];
}
if (routePath.includes('/viva/engage')) {
return [routePath.replace('/viva/engage', '/yammer')];
}
Expand Down
4 changes: 2 additions & 2 deletions npm-shrinkwrap.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pnp/cli-microsoft365",
"version": "8.1.0",
"version": "9.0.0",
"description": "Manage Microsoft 365 and SharePoint Framework projects on any platform",
"license": "MIT",
"main": "./dist/api.js",
Expand Down
Loading