Skip to content

Releases: PSModule/Confluence

0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 11:23
f92c039

🚀 [Feature]: Manage Atlassian Confluence Cloud from PowerShell (#17)

Confluence is now a working PowerShell module: connect to an Atlassian Confluence Cloud site once and manage pages, spaces, blog posts, folders, comments, labels, content properties, attachments, and restrictions as first-class PowerShell commands. This first version ports the generalized Confluence REST v2 client into the PSModule source layout and wires it to the Process-PSModule build.

New: 41 Confluence commands

Grouped by resource area:

  • AuthConnect-Confluence, Disconnect-Confluence, Get-ConfluenceContext
  • ConfigGet-ConfluenceConfig, Set-ConfluenceConfig
  • APIInvoke-ConfluenceRestMethod (the single generic REST entry point every command wraps)
  • SpacesGet-ConfluenceSpace, Get-ConfluenceSpacePermission, Get-ConfluenceSpaceProperty, plus space administration: New-ConfluenceSpace (create), Update-ConfluenceSpace (partial update), Set-ConfluenceSpace (declarative create-or-replace), Remove-ConfluenceSpace (permanent, asynchronous delete)
  • Site / Pages / BlogPosts / Folders / Comments / Labels / ContentProperties / Attachments / Restrictions / Users — read/write commands per area; page edits use Update-ConfluencePage (renamed from Set-ConfluencePage, since it performs a partial update and the Set verb is reserved for declarative create-or-replace as in Set-ConfluenceSpace)

Each command documents its required OAuth granular scope in its help, and errors surface Atlassian's X-Failure-Category (for example FAILURE_CLIENT_SCOPE_CHECK) so permission/scope failures are easy to spot. Every command's help links to its documentation page (https://psmodule.io/Confluence/Functions/<Area>/<Command>/) followed by the relevant Atlassian API reference.

New: reusable connections via Context

Credentials and module configuration persist through the Context module, declared via #Requires so the build records it as a manifest dependency. Connect once — the token is stored as a SecureString. Store multiple sites or accounts as named contexts and target any of them with -Context.

$token = Read-Host -AsSecureString
Connect-Confluence -Site 'msxorg' -Username 'you@example.com' -Token $token -SpaceKey 'DOCS'
$space = Get-ConfluenceSpace -Key 'DOCS'
New-ConfluencePage -SpaceId $space.id -Title 'Release notes' -Body '<p>Hello</p>'

How it is built

  • One function per file under src/functions/{public,private}, grouped by resource area; module state in src/variables/private.
  • No header.ps1 and no source manifest.psd1 — the build generates the manifest, derives the module tags from the repository topics, and reads the #Requires (PowerShell 7.0 and Context) from the source.
  • Comment-based help follows the GitHub module style: indented sections, fenced examples, and a documentation-page .LINK first.
  • Examples (Connecting, Pages) and a credential-free surface test, plus a skipped integration scaffold that reads CONFLUENCE_* environment secrets. Tests require Pester 6.x.

Tests and secrets

No tenant-specific data is included — examples use generic placeholders. The integration tests are skipped unless connection details are provided through the repository's Actions secret and variables (CONFLUENCE_SITE, CONFLUENCE_USERNAME, CONFLUENCE_API_TOKEN, CONFLUENCE_SPACE_KEY), which this PR wires into the Process-PSModule workflow through TestData. Each public function also carries a #SkipTest:FunctionTest marker so the framework's source-code test suite passes while per-function tests are deferred.

Technical details

  • Merged main: kept the implemented-module README over the placeholder (#15), adopted the Pester 6.x requirement (#16), and picked up the Process-PSModule workflow bump to v5.5.7 (#14).
  • Validated locally: 0 syntax parse errors, 0 PSScriptAnalyzer findings (repo linter and framework build rules), every public command's first .LINK resolves to its docs page, and the module assembles and imports with all 41 public functions.
  • Change type is minor (new functionality on a pre-1.0.0 module). Repository topics set to supply the manifest tags; major/minor/patch/NoRelease labels created for the release automation.
  • No linked issue — this work was driven directly; a tracking issue can be added for traceability. Opened as a draft for review.

v0.0.6

Choose a tag to compare

@github-actions github-actions released this 09 Oct 07:11
f12192f

What's Changed

Other Changes

Full Changelog: v0.0.5...v0.0.6

v0.0.5

Choose a tag to compare

@github-actions github-actions released this 03 Oct 21:38
16de6db

What's Changed

Other Changes

Full Changelog: v0.0.4...v0.0.5

v0.0.4

Choose a tag to compare

@github-actions github-actions released this 20 Aug 07:46
ff5d55a

What's Changed

Other Changes

Full Changelog: v0.0.3...v0.0.4

v0.0.3

Choose a tag to compare

@github-actions github-actions released this 12 Mar 23:08
82deecd

What's Changed

Other Changes

New Contributors

Full Changelog: v0.0.2...v0.0.3

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 17 Feb 11:56
b9c27a9

What's Changed

Other Changes

Full Changelog: v0.0.1...v0.0.2

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 30 Nov 10:14
eac96f6

What's Changed

Other Changes

New Contributors

Full Changelog: https://github.com/PSModule/Confluence/commits/v0.0.1