Skip to content

🚀 [Feature]: Manage Atlassian Confluence Cloud from PowerShell #227

🚀 [Feature]: Manage Atlassian Confluence Cloud from PowerShell

🚀 [Feature]: Manage Atlassian Confluence Cloud from PowerShell #227

name: Process-PSModule
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
pull_request:
branches:
- main
types:
- closed
- opened
- reopened
- synchronize
- labeled
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
pull-requests: write
statuses: write
pages: write
id-token: write
jobs:
Process-PSModule:
# Pinned to the TestData feature branch of Process-PSModule (PR #365).
# Repin to the released tag once that change ships.
uses: PSModule/Process-PSModule/.github/workflows/workflow.yml@ea019351821a74ae1528a4472198c84c91dd3059 # feat/52-test-secrets
secrets:
# PowerShell Gallery API key used to publish the module.
APIKey: ${{ secrets.APIKey }}
# All data the module's tests need, in one object: a "secrets" map (masked) and a "variables"
# map (not masked), each entry exposed as an environment variable. Only what the tests require
# is passed - secrets: inherit is intentionally not used. Integration tests skip when
# CONFLUENCE_API_TOKEN is unavailable (forks / PRs without access). Secrets use the direct
# "${{ secrets.X }}" form (CodeQL-clean) and the whole blob is one folded line so GitHub
# registers a single mask.
TestData: >-
{ "secrets": { "CONFLUENCE_API_TOKEN": "${{ secrets.CONFLUENCE_API_TOKEN }}" },
"variables": { "CONFLUENCE_SITE": ${{ toJSON(vars.CONFLUENCE_SITE) }},
"CONFLUENCE_USERNAME": ${{ toJSON(vars.CONFLUENCE_USERNAME) }},
"CONFLUENCE_SPACE_KEY": ${{ toJSON(vars.CONFLUENCE_SPACE_KEY) }} } }