Coder Social home page Coder Social logo

psconfluence's Introduction

PsConfluence

Table of Contents

Description

PowerShell library to interact with Atlassian's Confluence API

This Module uses Confluence's SOAP (XML-RPC); which was deprecated by Atlassian with Confluence v5.5. As the suggested replacement (REST) does not support all methods this Module uses, it was not yet migrated.

THIS MODULE DEPENDS ON XmlRpc

Examples

  • Remove all Pages in a Space:
Import-Module "PsConfluence"
Connect-Confluence -apiURi "https://confluence.mycompany.com/rpc/xmlrpc" -Credential (Get-Credential) -ConnectionType "xmlrpc"
Get-ConfluencePage -SpaceKey "ABC" | Remove-ConfluencePage
  • Get all Pages in Space and replace "User" with "Customer"
Import-Module "PsConfluence"
Connect-Confluence -apiURi "https://confluence.mycompany.com/rpc/xmlrpc" -Credential (Get-Credential) -ConnectionType "xmlrpc"
Get-ConfluencePage -SpaceKey "ABC" | Get-ConfluencePage | Foreach {$_.content -replace "[uU]ser" "Customer"} | Set-ConfluencePage
  • Download all XML files attached to a Page:
Import-Module "PsConfluence"
$apiUri = "https://confluence.mycompany.com/rpc/xmlrpc"
Connect-Confluence -apiURi $apiUri -Credential (Get-Credential) -ConnectionType "xmlrpc"
Get-ConfluencePage -SpaceKey "ABC" -title "XML container" | 
    Get-ConfluenceAttachment | 
    Where {$_.contentType -eq "text/xml"} | 
    Foreach {
        $_ | Get-ConfluenceAttachment -FilePath "c:\folder\$($_.title)"
    }

Authors/Contributors

Documentation

Git Repo Wiki yet to be written

psconfluence's People

Contributors

lipkau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

nanomebia 40a

psconfluence's Issues

Missing Permission Type in Validate Sets and Typo in Method Call Names in Permissions Module

The Get-ConfluenceSpacePermissions, Add-ConfluenceSpacePermissions, Remove-ConfluenceSpacePermissions functions all use a validate set on the PermissionType parameter that are missing the REMOVEOWNCONTENT permission. This causes errors when attempting to use these functions when the permission type is REMOVEOWNCONTENT.

Also, in the Add-ConfluenceSpacePermission function, when the permission set includes multiple permissions the function calls confluence2.addPermissionToSpace instead of confluence2.addPermissionsToSpace resulting in an invalid parameter (string vs vector) error from the web service.

FunctionsToExport Typos for ConfluencePermission Functions and References to Non-Existent Functions

In the FunctionsToExport section of PsConfluence.psd1, references to the Get-ConfluencePermission and Set-ConfluencePermission functions incorrectly use plural form (i.e. Get-ConfluencePermissions and Set-ConfluencePermissions) which prevents these functions from being exported/usable. Also, the following non-existent functions are referenced for export: ConvertTo-UnversionedPages, Export-PagesToVersion, Get-ConfluenceContent, Get-ScrollPageAttributes, Set-ScrollPageAttributes, Sync-ScrollPageIds

Add-ConfluenceSpacePermissions fails with single permission

java.lang.NoSuchMethodException: com.sun.proxy.$Proxy2452.addPermissionToSpace(java.lang.String, Java.util.Vector,
java.lang.String, java.lang.String)

Problem seems to be passing a Vector instead of a String for the 2nd arg. This hack worked for me:
Invoke-ConfluenceCall -Url $apiURi -MethodName "confluence2.addPermissionToSpace" -Params ($token, $Permissions[0], $RemoteEntityName, $SpaceKey)

Get-ConflenceSpaces doesn't work

Looks like this is due to ConvertFrom-Xml getting called in two places, Similar to 22305d4

PS C:\Scripts> Get-ConfluenceSpaces
ConvertFrom-Xml : Cannot process argument transformation on parameter 'InputObject'. Cannot convert value
"System.Object[]" to type "System.Xml.XmlDocument". Error: "The specified node cannot be inserted as the valid child
of this node, because the specified node is the wrong type."
At C:\Program Files\WindowsPowerShell\Modules\PsConfluence\XML-RPC\Spaces.ps1:54 char:40

  •             return ConvertFrom-Xml (Invoke-ConfluenceCall -Url $apiURi -Meth ...
    
  •   + CategoryInfo          : InvalidData: (:) [ConvertFrom-Xml], ParameterBindingArgumentTransformationException
      + FullyQualifiedErrorId : ParameterArgumentTransformationError,ConvertFrom-Xml
    

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.