Change Log
2.16 - 2026-04-13
Added
- Added Jira Cloud compatibility — the module now auto-detects Cloud vs Data Center/Server via
Get-JiraServerInformationand adapts API calls accordingly - Added
ConvertFrom-AtlassianDocumentFormatpublic function (aliasConvertFrom-ADF) — converts ADF objects (Jira Cloud v3) to Markdown; plain strings (Data Center) are passed through unchanged - Added
ConvertTo-AtlassianDocumentFormatpublic function (aliasConvertTo-ADF) — converts Markdown to ADF for writing descriptions and comments on Jira Cloud v3 - Added
-AccountIdparameter toGet-JiraUserfor Cloud’s account-based user lookup - Added
-Forceparameter toGet-JiraServerInformationto bypass the server info cache - Added HTTP 429 rate limit handling with automatic retry (respects
Retry-Afterheader, exponential backoff) - Added Jira Cloud vs Data Center compatibility guidance in documentation
Changed
- User operations now use
accountIdon Cloud,username/nameon Data Center (Get-JiraUser,Set-JiraUser,Remove-JiraUser,New-JiraIssue,Set-JiraIssue,Invoke-JiraIssueTransition,Add-JiraGroupMember,Remove-JiraGroupMember,Add-JiraIssueWatcher,Remove-JiraIssueWatcher,Resolve-JiraUser) Get-JiraIssueJQL search uses/rest/api/3/search/jqlwith token-based pagination on CloudGet-JiraServerInformationnow caches its result in module scope; subsequent calls return cached data (cleared onSet-JiraConfigServeror with-Force)ConvertTo-JiraCommentandConvertTo-JiraIssuenow convert ADF responses to readable Markdown textConvertTo-JiraUser.ToString()falls back toDisplayNameorAccountIdwhenNameis empty (GDPR compliance)Get-JiraIssueWatchernow pipes watchers throughConvertTo-JiraUserfor consistent typed output- Modernized test infrastructure and standardized helper utilities (#549)
- Bumped GitHub Actions:
actions/upload-artifactv7,actions/download-artifactv8,dawidd6/action-download-artifactv19
Fixed
- Enforced UTF-8 with BOM across all PowerShell files for PS v5 compatibility (#574)
- Fixed
inlineCardrendering inConvertFrom-ADFto produce<url>instead of redundant[url](url) - Fixed table separator regex in
ConvertTo-ADFto handle compact separators without spaces - Fixed typos and casing errors in test assertions and fixtures (#566)
2.15 - 2025-12-30
Added
- Added
-ComponentstoNew-JiraIssue. This will be a comma-separated list of Component IDs. (#483, @micheleliberman) - Added
Get-JiraIssueWorklog(#451, @asherber) - Allow
New-JiraSessionto be called without-Credentialso to use-Header(#439, @pwshmatt)
Changed
- Improved
-Transitionbehavior inInvoke-JiraIssueTransition(#416, @Rufus125) - Updated Pester to v5 (#543, @SrBlackVoid)
Fixed
- Fixed example and improved documentation on
-Propertieshashtable forSet-JiraUser(#509, @jschlackman) - Fixed
Get-JiraIssueCreateMetadatato conform with Atlassian’s API changes (documentation) (#488, @robertmbaker) - Removed
reporterfromNew-JiraIssuewhen project is “next-gen” (#407, @LaurentGoderre) - Fixed
-ErrorActioninAdd-JiraGroupMember(#426, @spascoe) - Fixed copy/paste error in test files for
Get-JiraIssue(#427, @borislol) - Fixed JSON conversion in
Invoke-JiraIssueTransition(#417, @Rufus125) - Fixed type in
Invoke-JiraIssueTransition(#417, @Rufus125)
2.14 - 2020-03-28
Changed
- Changed all commands to only use Jira’s api version 2. (#409, @lipkau)
This is a temporary fix and should be reverted to version
latestas soon as a proper handling of how users work between cloud and on-premise is implemented
2.13 - 2020-02-23
Added
- Add support for activation/deactivation of accounts via
Set-JiraUser(#385, @johnheusinger)
Changed
- Removed progress bar from
Invoke-WebRequestfor better performance (#380, @sgtwilko)
2.12 - 2019-08-15
Added
- Added cmdlet for sorting versions:
Move-JiraVersion(#363, @kb-cs) - Added cmdlet for finding filters by name:
Find-JiraFilter(#365, @vercellone)
Changed
- Changed the way users as interpreted by functions (#369, @lipkau)
- Changed how the config of a jira server is stored (#370, @lipkau)
2.11 - 2019-07-02
Added
- Unit test for synopsis in cmdlet documentation (#344, @alexsuslin)
Changed
Invoke-JiraIssueTransitionto find username with exact match (#351, @mirrorgleam)- Fixed
-Add <String>parameter forSet-JiraIssueLabelon issues without labels (#358, @lipkau)
2.10 - 2019-02-21
Added
- Parameter for retrieving information about a specific user with
Get-JiraUser(#328, @michalporeba)- this implementations will be changed with the next major update in favor of #306
Changed
- Fixed logic of how to retrieve components from project (#330, @lipkau)
- Fix usage of
New-JiraIssuein Jira Environment with mixed classic and “next gen” projects (#337, @nojp) - Fixed
Get-JiraIssueAttachmentFileto useAcceptheader based on Mime time of attachment (#333, @wisemoth) - Fixed incorrect handling of skip notifications when updating an issue (#339, @lipkau)
2.9 - 2018-12-12
Added
- Parameter for selecting what fields to return the the issue’s payload (#300, @tuxgoose)
- Added pipeline support to
New-JiraIssue(#312, @ctolan) - Added parameter to avoid notifying user when running
Set-JiraIssue(#315, @alexsuslin) - Improved documentation to demonstrate how to authenticate with 2FA (#313, @lipkau)
- Added function to download attachments from issue:
Get-JiraIssueAttachmentFile(#323, @lipkau)
Changed
- Fixed the way a user is resolved in
Remove-JiraGroupMember(#301, @lipkau) - Improved the resolving of server responses with an error (#303, @lipkau)
- Fixed payload of
New-JiraFilter(#304, @lipkau) - Fixed paging when server responds with only 1 result (#307, @lipkau)
- Fixed
Set-JiraIssueto allow to unassigned an issue (#309, @lipkau) - Changed CI/CD pipeline from AppVeyor to Azure DevOps (#317, @lipkau)
- Fixed missing properties on
Get-JiraUser(#321, @lipkau) - Fixed
-DateStartedonAdd-JiraIssueWorklog(#324, @lipkau)
2.8 - 2018-06-28
More detailed description about the changes can be found on Our Website.
Changed
- Added support for paginated response from API server by means of
-Paging(#291, [@lipkau[]]) - Added full set of functions to manage Filter Permissions (#289, [@lipkau[]])
- Added
-Idparameter toRemove-JiraFilter(#288, [@lipkau[]]) - Changed logic of
Get-JiraUserto return multiple results for a search (#272, [@lipkau[]]) - Added posts for homepage to the module’s repository (#268, [@lipkau[]])
- Improved handling of Credentials (#271, [@lipkau[]])
- Added missing interactions with Filters (#266, [@lipkau[]])
- Added
Remove-JiraIssue(#265, [@hmmwhatsthisdo[]]) - Improved Build script (to deploy changes to the homepage) (#259, [@lipkau[]])
Fixed
- Reverted
Add-JiraIssueAttachmentas JiraPS v2.7 broke it (#287, [@lipkau[]]) - Fixed resolving of Remote Link (#286, [@lipkau[]])
- Improved error handling for ErrorDetails and non-JSON/HTML responses (#277, [@hmmwhatsthisdo[]])
- Fully support Powershell v3 (#273, [@lipkau[]])
- Fixed parameter used in documentation but not in code (#263, [@lipkau[]])
2.7 - 2018-05-13
More detailed description about the changes can be found on Our Website.
Changed
- Writing and throwing of errors show better context (#199, @lipkau)
- Improved validation of parameters in
Add-JiraGroupMember(#250, @WindowsAdmin92) - Improved casting to
-Fieldsby defining it’s type as[PSCustomObject](#255, @lipkau) - Several improvements to the CI pipeline (#252, #257, @lipkau)
Fixed
- Build script was not publishing to the PSGallery (#252, @lipkau)
- Build script was publishing a new tag to repository even in case the build failed (#252, @lipkau)
- Fixed the adding multiple labels and the removal of those in
Set-JiraIssueLabel(#244, @lipkau) - Fixed CI icon in README (#245, @lipkau)
- Allow
Get-JiraUserto return more than 1 result (#246, @lipkau)
2.6 - 2018-05-02
More detailed description about the changes can be found on Our Website.
Added
-Passthruparameter toInvoke-JiraIssueTransition(#239, @lipkau)Get-JiraUserfunctionality to find the current user (#231, @lipkau)- full support for PowerShell Core (v6) and Linux/MacOS support (#230, @lipkau)
- JiraPS documentation on the homepage (#230, @lipkau)
Changed
- Exposed
Invoke-JiraMethodas a public function (#233, @lipkau) - Migrated to External Help (instead of Comment-Based Help) (#230, @lipkau)
Fixed
- Index Into Null Object (#209, @lipkau)
- Fix empty header (#206, @lipkau)
- Bad Body (#224, @lipkau)
- Add Labels to array (#226, @lipkau)
- Fix removing labels with
Set-JiraIssueLabel -Remove(#244, @lipkau) - Fix adding of multiple labels at once with
Set-JiraIssueLabel -Add(#244, @lipkau)
2.5 - 2018-03-23
More detailed description about the changes can be found on Our Website.
Changed
- Harmonized code style (#162, @lipkau)
- Harmonized verbose messages (#162, @lipkau)
- Harmonized debug messages (#162, @lipkau)
- Improved debug behavior (#162, @lipkau)
- Update of VS code config to reflect code styling (#162, @lipkau)
- Few improvements in test cases (#162, @lipkau)
- Added parameter validation (#162, @lipkau)
- Updated manifest (#162, @lipkau)
- Minor preparations for pwsh support (#162, @lipkau)
- Execute Tests against
./Release(#162, @lipkau) - Removed unused
$ConfigFilevariable (#219, @lipkau) Invoke-JiraMethodnow sets the TLS to 1.2 before every call (#84, @lipkau)- Fixed date and timespan representation in Body of
Add-JiraIssueWorklog(#214, @lipkau) - Improved output of
Get-JiraProject(#216, @lipkau)
2.4 (Nov 01, 2017)
Added
Add-JiraIssueAttachment: Add an attachment to an issue (#137, @beaudryj)Get-JiraIssueAttachment: Get attachments from issues (#137, @beaudryj)Remove-JiraIssueAttachment: Remove attachments from issues (#137, @beaudryj)
Changed
JiraPS.Issuenow has a property for AttachmentsJiraPS.Attachment(#137, @beaudryj)
2.3 (Okt 07, 2017)
Added
Get-JiraServerInformation: Fetches the information about the server (#187, @lipkau)
Changed
- Added
-AddCommenttoSet-JiraIssue. Allowing the user to write a comment for the changes to the issue (#167, @Clijsters) - Changed the default visibility of comments (#172, @lipkau)
- Added more properties to
JiraPS.Userobjects (#152, @lipkau)
2.2.0 (Aug 05, 2017)
Added
New-JiraVersion: Create a new Version in a project (#158, @Dejulia489)Get-JiraVersion: Get Versions of a project (#158, @Dejulia489)Set-JiraVersion: Changes a Version of a project (#158, @Dejulia489)Remove-JiraVersion: Removes a Version of a project (#158, @Dejulia489)- New custom object for Versions (#158, @Dejulia489)
2.1.0 (Jul 25, 2017)
Added
Get-JiraIssueEditMetadata: Returns metadata required to create an issue in JIRA (#65, @lipkau)Get-JiraRemoteLink: Returns a remote link from a JIRA issue (#80, @lipkau)Remove-JiraRemoteLink: Removes a remote link from a JIRA issue (#80, @lipkau)Get-JiraComponent: Returns a Component from JIRA (#68, @axxelG)Add-JiraIssueWorklog: Add worklog items to an issue (#83, @jkknorr)- Added support for getting and managing Issue Watchers (
Add-JiraIssueWatcher,Get-JiraIssueWatcher,Remove-JiraIssueWatcher) (#73, @ebekker) - Added IssueLink functionality (
Add-JiraIssueLink,Get-JiraIssueLink,Get-JiraIssueLinkType,Remove-JiraIssueLink) (#131, @lipkau)
Changed
New-JiraIssue: Description and Priority are no longer mandatory (#53, @brianbunke)- Added property
ComponentstoPSjira.Project(#68, @axxelG) Invoke-JiraIssueTransition: add support for parameters Fields, Comment and Assignee (#38, @padgers)New-JiraIssue: support parameter FixVersion (#103, @Dejulia489)Set-JiraIssue: support parameter FixVersion (#103, @Dejulia489)- Respect the global
$PSDefaultParameterValuesinside the module (#110, @lipkau) New-JiraSession: Display warning when login needs CAPTCHA (#111, @lipkau)- Switched to Basic Authentication when generating the session (#116, @lipkau)
- Added more tests for the CI (#142, @lipkau)
Fixed
Invoke-JiraMethod: Error when Invoke-WebRequest returns ‘204 No content’ (#42, @colhal)Invoke-JiraIssueTransition: Error when Invoke-WebRequest returns ‘204 No content’ (#43, @colhal)Set-JiraIssueLabel: Forced label property to be an array (#88, @kittholland)Invoke-JiraMethod: Send ContentType as Parameter instead of in the Header (#121, @lukhase)
2.0 (Jun 24, 2017)
Changes to the code module
- Move module to organization
AtlassianPS - Rename of the module to
JiraPSbreaking change - Rename of module’s custom objects to
JiraPS.*breaking change
1.2.5 (Aug 08, 2016)
Changed
- New-JiraIssue: Priority and Description are no longer mandatory (#24, @lipkau)
- New-JiraIssue: Added -Parent parameter for sub-tasks (#29, @ebekker)
Fixed
- ConvertTo-JiraProject: updated for Atlassian’s minor wording change of projectCategory (#31, @alexsuslin)
- Invoke-JiraMethod: now uses the -ContentType parameter instead of manually passing the Content-Type header (#19)
- New-JiraIssue: able to create issues without labels again (#21)
- Set-JiraIssue: fixed issue with JSON depth for custom parameters (#17, @ThePSAdmin)
- Various: Fixed issues with ConvertFrom-Json max length with a custom ConvertFrom-Json function (#23, @LiamLeane)
1.2.4 (Dec 10, 2015)
Changed
- Get-JiraGroupMember: now returns all members by default, with support for -MaxResults and -StartIndex parameters (#14)
- Get-JiraIssue: significantly increased performance (#12)
Fixed
- Get-JiraIssue: fixed issue where Get-JiraIssue would only return one result when using -Filter parameter in some cases (#15)
- Invoke-JiraIssueTransition: fixed -Credential parameter (#13)
1.2.3 (Dec 02, 2015)
Added
- Get-JiraIssue: added paging support with the -StartIndex and -PageSize parameters. This allows programmatically looping through all issues that match a given search. (#9)
Changed
- Get-JiraIssue: default behavior has been changed to return all issues via paging when using -Query or -Filter parameters
Fixed
- Invoke-JiraMethod: Fixed issue where non-standard characters were not being parsed correctly from JSON (#7)
1.2.2 (Nov 16, 2015)
Added
- Set-JiraIssueLabel: add and remove specific issue labels, or overwrite or clear all labels on an issue (#5)
Changed
- New-JiraIssue: now has a -Label parameter
- Set-JiraIssue: now has a -Label parameter (this replaces all labels on an issue; use Set-JiraIssueLabel for more fine-grained control)
- Invoke-JiraMethod: handles special UTF-8 characters correctly (#4)
Fixed
- Get-JiraIssueCreateMetadata: now correctly returns the ID of fields as well (#6)
1.2.0 (Oct 26, 2015)
Changed
- Get-JiraIssueCreateMetadata: changed output type from a generic PSCustomObject to new type PSJira.CreateMetaField
- Get-JiraIssueCreateMetadata: now returns additional properties for field metadata, such as AllowedValues
1.2.0 (Oct 16, 2015)
Added
- Get-JiraFilter: get a reference to a JIRA filter, including its JQL and owner
Changed
- Get-JiraIssue: now supports a -Filter parameter to obtain all issues matching a given filter object or ID
1.1.1 (Oct 08, 2015)
Changed
- Set-JiraIssue now supports modifying arbitrary fields through the Fields parameter
1.1.0 (Sep 17, 2015)
Added
- User management: create and delete users and groups, and modify group memberships
Changed
- Cleaner error handling in all REST requests; Jira’s error messages should now be passed as PowerShell errors
Fixed
- PSJira.User: ToString() now works as expected
1.0.0 (Aug 5, 2015)
- Initial release
This changelog is inspired by the Pester file, which is in turn inspired by the Vagrant file.