Package: pluploader
pluploaderA advanced command-line plugin uploader/installer/manager for atlassian
server and cloud instances (Confluence/Jira) written in python(3).Installationpipx (recommended)pipxinstallpluploaderpippip3installpluploaderbrew (MacOS)brewtapcraftamap/tap&&brewinstallpluploaderDockerIf you do not want to install python3 or pip, you can also pull the latest
docker image from dockerhub or github:dockerpullcraftamap/pluploader:latest# ORdockerpullghcr.io/craftamap/pluploader/pluploader:v0.8.3pluploader can then be run by executingdockerrun-v"$(pwd)":/workdir-itcraftamap/pluploader:v0.8.3UsageFor a in-depth explanation, seepluploader --helpℹ This documentation describes the master branch, and not (necessarily) the latest release.Global OptionsYou can specify various global options:--base-url <base-url>, default:http://localhost:8090For Confluence Cloud Instances, make sure to append the path,/wiki, to your base url.--user <username>, default:admin--password <password>, default:adminIt is recommended to use Access Tokens instead of your password.
Newer versions of the server / datacenter products support creating Access Tokens
called Personal Access Tokens -Read more about them here.For cloud instances, it is required to use Access Tokens. Those are calledAPI Tokens and can be created here.
If you do not want to put your password or access token in the command line
plaintext, you can also use...--ask-for-passwordAll Global Options can be overwritten by using a configuration file or enviroment variables.
See more inConfigurationandEnvironment variablesConfigurationIf you don't want to write the username or password (or any other global
parameter) each time, you can use a filed called.pluprc, either placed in
your current maven project or/and in your home directory. A example looks like
this:base_url:https://example.com:8090
user:admin
password:adminEnvironment variablesYou can also specify username, password and base url by usingPLUP_USER,PLUP_PASSWORDandPLUP_BASEURL.Uploading pluginsIf you are in a maven project, the basic usage is fairly simple. Just type:pluploader--useradmin--passwordadminThe pluploader then uploads and enables the current artifact specified in the
pom.xmlIf you are not in a maven directory currently, but you want to upload a specific
file, you can also use the-f plugin.jarflag.If you want to confirm your upload, you can also use the-i/--interactiveflag.It is recommended to use the pluploader with maven. The usage looks like:atlas-mvncleanpackage&&pluploaderInstalling apps from the marketplacepluploader supports downloading apps from the atlassian marketplace to your local
machine and installing them afterwards. You need to supply either--mpac-key,
which is the normal addon-key, or--mpac-id(experimental), which is the
numeric id of an marketplace id (72307https://marketplace.atlassian.com/apps/72307)pluploader--mpac-keycom.atlassian.confluence.extra.team-calendarsNOTE:
If you specify one of the global options, you need to add theinstall-command:pluploader--base-urlhttps://your-confluence.com:8090installYou can work around this by using the configuration file or by using environment variables.Installing a connect descriptor to a cloud instance.pluploader also supports installing atlassian-connect plugins to cloud instances
by enabling cloud support with--cloudand providing the descriptor url with--plugin-uri.pluploaderinstall--cloud--plugin-urihttps://your.ngrok.hereManaging pluginspluploader can also replace the usage of the universal plugin manager completely
by using the subcommandslist,info,enable,disable, anduninstall(enableanddisableare not supported in the atlassian cloud).To get a list of all installed plugins of the configured instance, just type:pluploaderlistA green checkmark indicates that the plugin is enabled, while a exclamation mark
indicates that the plugin is disabled.In order to retrieve more information about a specific plugin, you can use the
commandinfo.pluploaderinfocom.example.plugin.keyThe plugin key can be omitted in a maven directory, if the parameteratlassian.plugin.keyis set in plaintext.The commandsenable,disableoruninstallfollow the same syntax.Safe Modepluploader also supports disabling or enabling all apps using Safe Mode (does not work in cloud).To retrieve the status if safe-mode is enabled at the moment, usepluploadersafe-modestatusYou can enable and disable safe mode by usingpluploadersafe-modeenableAndpluploadersafe-modedisable# ORpluploadersafe-modedisable--keep-stateLicensesYou can also use the pluploader to get and set licenses for your plugins.To get the current license information:pluploaderlicenseinfocom.example.plugin.keyTo set a license, use theupdatefunctionality.pluploaderlicenseupdatecom.example.plugin.key--license"AAA..."ℹ Pro tip: Usexargsto read a license from a file by usingcatlicense.txt|xargspluploaderlicenseupdate--licenseYou can also applytimebomb licensesby usingpluploaderlicensetimebombcom.example.plugin.key--timebombthreehoursYou can choose between 3 hours (threehours), 60 seconds (sixtyseconds) and
10 seconds (tenseconds)To remove an applied license, you can use:pluploaderlicensedeletecom.example.plugin.keyAccess Tokens (Cloud Development Licenses)You can also use pluploader to list, get, update/set and delete access tokens of apps.pluploaderlicenseaccess-tokenlist
pluploaderlicenseaccess-tokeninfocom.example.plugin.key
pluploaderlicenseaccess-tokenupdatecom.example.plugin.key--token"token"pluploaderlicenseaccess-tokendeletecom.example.plugin.keyAPIYou can interact with the HTTP/REST-API of your configured instance by usingpluploader api ENDPOINT [BODY]. The arguments work a bit like the
well-known toolcurl. You can use-X METHODto choose the HTTP method and-H "HEADER-NAME: HEADER-VALUE"to add a HTTP header.pluploaderapi-XPOST-H"content-type: application/json"rest/api/content/'{ "type":"page", "title":"My Test Page", "space":{"key":"TEST"}, "body":{ "storage": { "value":"<p>This is a new page</p>", "representation":"storage" } } }'RPCpluploader rpcallows interaction with the (deprecated, but  still
functional) confluence rpc api by providing the method name and it's
required arguments. You do not need to care about the rpc-authentication,
as this command takes care of it. Therefore, you can also obmit the first
parameter (String token) required for many commands.pluploaderrpcaddUser'{"name":"charlie", "fullname": "charlie", "email":"charlie@charlie"}'charlieScheduled Jobs (Confluence - Experimental)ℹ This feature is currently experimental and only works in specific version of
Confluence (tested on Confluence 7.5).Pluploader can also be used to retrieve information about confluence jobs and
execute them.You can grab a list of all jobs by runningpluploaderjoblistAvailable options are:--hide-default- Hides confluence internal jobs--print-all-infos- print more informationsYou can also run jobs by runningpluploaderjobrunGet more information about a job by runningpluploaderjobinfoAnd disable or enable jobs by runningpluploaderjobenable# ANDpluploaderjobdisableA job can be specified by either using--id <job id>or by using--idx <job index in list>. If no job is specified, you will be asked
interactively.Developmentpluploader usespoetryas it's package manager. As a command line argument parser,Typeris used.FAQWhy would I use the pluploader over X?Of course, you can use whatever tool you want to.Why would I use the pluploader over the UPM?It's a faster workflow.Why would I use the pluploader over the Atlas-CLI?atlas-cli is awesome, but sadly it's deprecated. Also since you can use your own
maven command with pluploader, you therefore can skip tests, make a mvn clean,
and many more.In general, pluploader is just a bit more flexiable.Why would I use the pluploader over QuickReload?QuickReload is cool, but some of us prefer to use docker instances or atlas-standalone
rather than atlas-run.