en-US/JsmOperations-help.xml

<?xml version="1.0" encoding="utf-8"?>
<helpItems schema="maml" xmlns="http://msh">
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Close-JsmAlert</command:name>
      <command:verb>Close</command:verb>
      <command:noun>JsmAlert</command:noun>
      <maml:description>
        <maml:para>Closes an alert in JSM Cloud Operations.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sends POST /v1/alerts/{id}/close. A tinyId or alias given with -IdentifierType is first resolved to the alert UUID. The close operation is asynchronous on the server side, so the response is a request-status object rather than the updated alert. Pass -Verbose to see the request URL.</maml:para>
      <maml:para>Pipeline-friendly: pipe alerts (or their ids) directly in.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Close-JsmAlert</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>The alert identifier. Interpreted as the alert UUID by default; pass -IdentifierType tiny for the short numeric tinyId shown in the JSM UI, or -IdentifierType alias for an integration alias. Accepts pipeline input by value and by property name.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Note</maml:name>
          <maml:description>
            <maml:para>An optional note attached to the close action. Visible in the alert's activity log.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>IdentifierType</maml:name>
          <maml:description>
            <maml:para>How to interpret -Id: 'id' (alert UUID, the default), 'tiny' (tinyId), or 'alias' (integration alias). The JSM Cloud API only addresses alerts by UUID, so 'tiny' and 'alias' cost one or two extra lookup calls. tinyIds are reused over time, and an alias is only unique among open alerts; if several alerts match, the single non-closed alert is used, otherwise the most recently created (with a warning). Piped alert objects bind their id (UUID) property, so leave the default when piping.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Id</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The alert identifier. Interpreted as the alert UUID by default; pass -IdentifierType tiny for the short numeric tinyId shown in the JSM UI, or -IdentifierType alias for an integration alias. Accepts pipeline input by value and by property name.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Note</maml:name>
        <maml:description>
          <maml:para>An optional note attached to the close action. Visible in the alert's activity log.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>IdentifierType</maml:name>
        <maml:description>
          <maml:para>How to interpret -Id: 'id' (alert UUID, the default), 'tiny' (tinyId), or 'alias' (integration alias). The JSM Cloud API only addresses alerts by UUID, so 'tiny' and 'alias' cost one or two extra lookup calls. tinyIds are reused over time, and an alias is only unique among open alerts; if several alerts match, the single non-closed alert is used, otherwise the most recently created (with a warning). Piped alert objects bind their id (UUID) property, so leave the default when piping.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Id</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
        <maml:name>ProgressAction</maml:name>
        <maml:description>
          <maml:para>{{ Fill ProgressAction Description }}</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
        <dev:type>
          <maml:name>ActionPreference</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>The asynchronous request-status object returned by the API.</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Close is async: the alert's status field will not update immediately. Re-fetch with Get-JsmAlert -Id to confirm.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Close-JsmAlert -Id 'abc-123-...'</dev:code>
        <dev:remarks>
          <maml:para>Closes a single alert.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Close-JsmAlert -Id 623551 -IdentifierType tiny -Note 'Resolved'</dev:code>
        <dev:remarks>
          <maml:para>Closes the alert whose tinyId (the number shown in the JSM UI) is 623551.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-JsmAlert -Query 'status:open AND tag:stale' | Close-JsmAlert -Note 'Auto-closed by stale-alert sweep'</dev:code>
        <dev:remarks>
          <maml:para>Closes all open alerts tagged stale and stamps a note explaining why.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Confirm-JsmAlert</command:name>
      <command:verb>Confirm</command:verb>
      <command:noun>JsmAlert</command:noun>
      <maml:description>
        <maml:para>Acknowledges an alert in JSM Cloud Operations.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Sends POST /v1/alerts/{id}/acknowledge. A tinyId or alias given with -IdentifierType is first resolved to the alert UUID. The acknowledge operation is asynchronous on the server side, so the response is a request-status object rather than the updated alert. Pass -Verbose to see the request URL.</maml:para>
      <maml:para>Pipeline-friendly: pipe alerts (or their ids) directly in.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Confirm-JsmAlert</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>The alert identifier. Interpreted as the alert UUID by default; pass -IdentifierType tiny for the short numeric tinyId shown in the JSM UI, or -IdentifierType alias for an integration alias. Accepts pipeline input by value and by property name.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
          <maml:name>Note</maml:name>
          <maml:description>
            <maml:para>An optional note attached to the acknowledge action. Visible in the alert's activity log.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
          <maml:name>IdentifierType</maml:name>
          <maml:description>
            <maml:para>How to interpret -Id: 'id' (alert UUID, the default), 'tiny' (tinyId), or 'alias' (integration alias). The JSM Cloud API only addresses alerts by UUID, so 'tiny' and 'alias' cost one or two extra lookup calls. tinyIds are reused over time, and an alias is only unique among open alerts; if several alerts match, the single non-closed alert is used, otherwise the most recently created (with a warning). Piped alert objects bind their id (UUID) property, so leave the default when piping.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Id</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="1" aliases="none">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The alert identifier. Interpreted as the alert UUID by default; pass -IdentifierType tiny for the short numeric tinyId shown in the JSM UI, or -IdentifierType alias for an integration alias. Accepts pipeline input by value and by property name.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="2" aliases="none">
        <maml:name>Note</maml:name>
        <maml:description>
          <maml:para>An optional note attached to the acknowledge action. Visible in the alert's activity log.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="3" aliases="none">
        <maml:name>IdentifierType</maml:name>
        <maml:description>
          <maml:para>How to interpret -Id: 'id' (alert UUID, the default), 'tiny' (tinyId), or 'alias' (integration alias). The JSM Cloud API only addresses alerts by UUID, so 'tiny' and 'alias' cost one or two extra lookup calls. tinyIds are reused over time, and an alias is only unique among open alerts; if several alerts match, the single non-closed alert is used, otherwise the most recently created (with a warning). Piped alert objects bind their id (UUID) property, so leave the default when piping.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Id</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
        <maml:name>ProgressAction</maml:name>
        <maml:description>
          <maml:para>{{ Fill ProgressAction Description }}</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
        <dev:type>
          <maml:name>ActionPreference</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>The asynchronous request-status object returned by the API.</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Acknowledgement is async: the alert's status field will not update immediately. Re-fetch with Get-JsmAlert -Id to confirm.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Confirm-JsmAlert -Id 'abc-123-...'</dev:code>
        <dev:remarks>
          <maml:para>Acknowledges a single alert.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Confirm-JsmAlert -Id 623551 -IdentifierType tiny</dev:code>
        <dev:remarks>
          <maml:para>Acknowledges the alert whose tinyId (the number shown in the JSM UI) is 623551.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-JsmAlert -Query 'status:open AND priority:P5' | Confirm-JsmAlert -Note 'Bulk-acked low-priority'</dev:code>
        <dev:remarks>
          <maml:para>Acknowledges all open P5 alerts with an explanatory note.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Connect-JsmService</command:name>
      <command:verb>Connect</command:verb>
      <command:noun>JsmService</command:noun>
      <maml:description>
        <maml:para>Establishes an in-memory connection to the JSM Cloud Operations API.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Stores connection state (email, API token, cloud ID, base URI) in a script-scoped variable consumed by the rest of the module. The connection lives only for the current PowerShell session - there is no on-disk persistence. To skip this cmdlet on every session, see the README's SecretManagement-based persistence recipe.</maml:para>
      <maml:para>Credentials may be supplied three ways: 1. -Credential (PSCredential where UserName is the email and Password is the API token) 2. -Email + -ApiToken (the token as a SecureString) 3. JSM_EMAIL / JSM_API_TOKEN / JSM_CLOUD_ID environment variables (used as fallback when the corresponding parameter is unbound - primarily for unattended/CI use)</maml:para>
      <maml:para>On success, performs a smoke-test GET against /alerts?size=1 to validate credentials. If the smoke test fails, the connection state is cleared and the original error rethrown.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Connect-JsmService</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Credential</maml:name>
          <maml:description>
            <maml:para>A PSCredential object whose UserName is the Atlassian account email and whose Password (SecureString) is the Atlassian API token.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
          <dev:type>
            <maml:name>PSCredential</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CloudId</maml:name>
          <maml:description>
            <maml:para>The Atlassian cloud ID for the target site. Falls back to the JSM_CLOUD_ID environment variable when omitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If specified, emits the resolved connection object (with the API token omitted) on success.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Connect-JsmService</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Email</maml:name>
          <maml:description>
            <maml:para>The Atlassian account email. Falls back to the JSM_EMAIL environment variable when omitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>ApiToken</maml:name>
          <maml:description>
            <maml:para>The Atlassian API token as a SecureString. Falls back to the JSM_API_TOKEN environment variable when omitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
          <dev:type>
            <maml:name>SecureString</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>CloudId</maml:name>
          <maml:description>
            <maml:para>The Atlassian cloud ID for the target site. Falls back to the JSM_CLOUD_ID environment variable when omitted.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>PassThru</maml:name>
          <maml:description>
            <maml:para>If specified, emits the resolved connection object (with the API token omitted) on success.</maml:para>
          </maml:description>
          <dev:type>
            <maml:name>SwitchParameter</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>False</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Credential</maml:name>
        <maml:description>
          <maml:para>A PSCredential object whose UserName is the Atlassian account email and whose Password (SecureString) is the Atlassian API token.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">PSCredential</command:parameterValue>
        <dev:type>
          <maml:name>PSCredential</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Email</maml:name>
        <maml:description>
          <maml:para>The Atlassian account email. Falls back to the JSM_EMAIL environment variable when omitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>ApiToken</maml:name>
        <maml:description>
          <maml:para>The Atlassian API token as a SecureString. Falls back to the JSM_API_TOKEN environment variable when omitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">SecureString</command:parameterValue>
        <dev:type>
          <maml:name>SecureString</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>CloudId</maml:name>
        <maml:description>
          <maml:para>The Atlassian cloud ID for the target site. Falls back to the JSM_CLOUD_ID environment variable when omitted.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>PassThru</maml:name>
        <maml:description>
          <maml:para>If specified, emits the resolved connection object (with the API token omitted) on success.</maml:para>
        </maml:description>
        <command:parameterValue required="false" variableLength="false">SwitchParameter</command:parameterValue>
        <dev:type>
          <maml:name>SwitchParameter</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>False</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
        <maml:name>ProgressAction</maml:name>
        <maml:description>
          <maml:para>{{ Fill ProgressAction Description }}</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
        <dev:type>
          <maml:name>ActionPreference</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>With -PassThru, the connection object (Email, CloudId, BaseUri, ConnectedAt).</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The API token is held as a SecureString and only decrypted inside the private transport when constructing the Authorization header.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>$credential = Get-Credential
Connect-JsmService -Credential $credential -CloudId 'xxxx-xxxx-xxxx-xxxx'</dev:code>
        <dev:remarks>
          <maml:para>Connects using a PSCredential where the user enters email + token interactively.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Connect-JsmService</dev:code>
        <dev:remarks>
          <maml:para>Connects using the JSM_EMAIL, JSM_API_TOKEN, and JSM_CLOUD_ID environment variables. Useful for unattended scripts and CI.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Disconnect-JsmService</command:name>
      <command:verb>Disconnect</command:verb>
      <command:noun>JsmService</command:noun>
      <maml:description>
        <maml:para>Clears the in-memory JSM connection.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Removes the connection state set by Connect-JsmService from the module's script scope. Idempotent - calling without an active connection is not an error. Subsequent JsmOperations cmdlets will throw a "no active connection" error until Connect-JsmService is called again.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Disconnect-JsmService</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
        <maml:name>ProgressAction</maml:name>
        <maml:description>
          <maml:para>{{ Fill ProgressAction Description }}</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
        <dev:type>
          <maml:name>ActionPreference</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>None.</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Useful at the end of automation scripts or before switching between sites in the same session.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Disconnect-JsmService</dev:code>
        <dev:remarks>
          <maml:para>Clears the active connection. The next call to Get-JsmAlert (or any other cmdlet that hits the API) will throw.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-JsmAlert</command:name>
      <command:verb>Get</command:verb>
      <command:noun>JsmAlert</command:noun>
      <maml:description>
        <maml:para>Retrieves alerts from the JSM Cloud Operations API.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Two modes of operation, selected by parameter set: - List (default): GET /v1/alerts with optional Lucene query, sort, and page size. Returns the .values payload from the response envelope. - ById: GET /v1/alerts/{id} for a single alert. A tinyId or alias given with -IdentifierType is first resolved to the alert UUID. Accepts the id from the pipeline (by value or by property name), so you can chain from list output: Get-JsmAlert -Query 'status:open' | Get-JsmAlert.</maml:para>
      <maml:para>v0.1.0 returns the raw deserialized JSON. No reshaping or type accelerator.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-JsmAlert</maml:name>
        <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none">
          <maml:name>Id</maml:name>
          <maml:description>
            <maml:para>The alert identifier. Interpreted as the alert UUID by default; pass -IdentifierType tiny for the short numeric tinyId shown in the JSM UI, or -IdentifierType alias for an integration alias. Accepts pipeline input by value and by property name.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>IdentifierType</maml:name>
          <maml:description>
            <maml:para>How to interpret -Id: 'id' (alert UUID, the default), 'tiny' (tinyId), or 'alias' (integration alias). The JSM Cloud API only addresses alerts by UUID, so 'tiny' and 'alias' cost one or two extra lookup calls. tinyIds are reused over time, and an alias is only unique among open alerts; if several alerts match, the single non-closed alert is used, otherwise the most recently created (with a warning). Piped alert objects bind their id (UUID) property, so leave the default when piping.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Id</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
      <command:syntaxItem>
        <maml:name>Get-JsmAlert</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Query</maml:name>
          <maml:description>
            <maml:para>A Lucene query string (e.g. 'status:open AND priority:P1'). See the Atlassian JSM Operations API docs for syntax.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Limit</maml:name>
          <maml:description>
            <maml:para>Maximum number of alerts to return. Maps to the API's 'size' parameter. Default 20.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
          <dev:type>
            <maml:name>Int32</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>20</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>OrderBy</maml:name>
          <maml:description>
            <maml:para>Field to sort by. Default 'updatedAt'.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>UpdatedAt</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
          <maml:name>Order</maml:name>
          <maml:description>
            <maml:para>Sort direction. 'asc' or 'desc'. Default 'desc'.</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
          <dev:type>
            <maml:name>String</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>Desc</dev:defaultValue>
        </command:parameter>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="true" variableLength="true" globbing="false" pipelineInput="True (ByPropertyName, ByValue)" position="named" aliases="none">
        <maml:name>Id</maml:name>
        <maml:description>
          <maml:para>The alert identifier. Interpreted as the alert UUID by default; pass -IdentifierType tiny for the short numeric tinyId shown in the JSM UI, or -IdentifierType alias for an integration alias. Accepts pipeline input by value and by property name.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>IdentifierType</maml:name>
        <maml:description>
          <maml:para>How to interpret -Id: 'id' (alert UUID, the default), 'tiny' (tinyId), or 'alias' (integration alias). The JSM Cloud API only addresses alerts by UUID, so 'tiny' and 'alias' cost one or two extra lookup calls. tinyIds are reused over time, and an alias is only unique among open alerts; if several alerts match, the single non-closed alert is used, otherwise the most recently created (with a warning). Piped alert objects bind their id (UUID) property, so leave the default when piping.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Id</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Query</maml:name>
        <maml:description>
          <maml:para>A Lucene query string (e.g. 'status:open AND priority:P1'). See the Atlassian JSM Operations API docs for syntax.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Limit</maml:name>
        <maml:description>
          <maml:para>Maximum number of alerts to return. Maps to the API's 'size' parameter. Default 20.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">Int32</command:parameterValue>
        <dev:type>
          <maml:name>Int32</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>20</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>OrderBy</maml:name>
        <maml:description>
          <maml:para>Field to sort by. Default 'updatedAt'.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>UpdatedAt</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="none">
        <maml:name>Order</maml:name>
        <maml:description>
          <maml:para>Sort direction. 'asc' or 'desc'. Default 'desc'.</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">String</command:parameterValue>
        <dev:type>
          <maml:name>String</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>Desc</dev:defaultValue>
      </command:parameter>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
        <maml:name>ProgressAction</maml:name>
        <maml:description>
          <maml:para>{{ Fill ProgressAction Description }}</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
        <dev:type>
          <maml:name>ActionPreference</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>Raw alert objects as deserialized from the API JSON.</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>The List set returns the response.values array; the ById set returns the response object directly.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-JsmAlert -Limit 5</dev:code>
        <dev:remarks>
          <maml:para>Returns the five most recently updated alerts.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>Get-JsmAlert -Query 'status:open AND priority:P1' -Limit 50</dev:code>
        <dev:remarks>
          <maml:para>Returns up to 50 open P1 alerts.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 3 --------------------------</maml:title>
        <dev:code>Get-JsmAlert -Id 'abc-123-...'</dev:code>
        <dev:remarks>
          <maml:para>Returns the detail object for a single alert.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 4 --------------------------</maml:title>
        <dev:code>Get-JsmAlert -Id 623551 -IdentifierType tiny</dev:code>
        <dev:remarks>
          <maml:para>Returns the alert whose tinyId (the number shown in the JSM UI) is 623551.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
  <command:command xmlns:maml="http://schemas.microsoft.com/maml/2004/10" xmlns:command="http://schemas.microsoft.com/maml/dev/command/2004/10" xmlns:dev="http://schemas.microsoft.com/maml/dev/2004/10" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
    <command:details>
      <command:name>Get-JsmConnection</command:name>
      <command:verb>Get</command:verb>
      <command:noun>JsmConnection</command:noun>
      <maml:description>
        <maml:para>Returns the active JSM connection, with the API token omitted.</maml:para>
      </maml:description>
    </command:details>
    <maml:description>
      <maml:para>Surfaces the connection state set by Connect-JsmService for inspection and logging. The returned object intentionally omits the ApiToken SecureString so it is safe to pipe into Format-Table, write to logs, or share in transcripts. Returns $null when no connection is active.</maml:para>
    </maml:description>
    <command:syntax>
      <command:syntaxItem>
        <maml:name>Get-JsmConnection</maml:name>
        <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
          <maml:name>ProgressAction</maml:name>
          <maml:description>
            <maml:para>{{ Fill ProgressAction Description }}</maml:para>
          </maml:description>
          <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
          <dev:type>
            <maml:name>ActionPreference</maml:name>
            <maml:uri />
          </dev:type>
          <dev:defaultValue>None</dev:defaultValue>
        </command:parameter>
      </command:syntaxItem>
    </command:syntax>
    <command:parameters>
      <command:parameter required="false" variableLength="true" globbing="false" pipelineInput="False" position="named" aliases="proga">
        <maml:name>ProgressAction</maml:name>
        <maml:description>
          <maml:para>{{ Fill ProgressAction Description }}</maml:para>
        </maml:description>
        <command:parameterValue required="true" variableLength="false">ActionPreference</command:parameterValue>
        <dev:type>
          <maml:name>ActionPreference</maml:name>
          <maml:uri />
        </dev:type>
        <dev:defaultValue>None</dev:defaultValue>
      </command:parameter>
    </command:parameters>
    <command:inputTypes />
    <command:returnValues>
      <command:returnValue>
        <dev:type>
          <maml:name>System.Management.Automation.PSCustomObject</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
      <command:returnValue>
        <dev:type>
          <maml:name>With Email, CloudId, BaseUri, and ConnectedAt fields. $null if not connected.</maml:name>
        </dev:type>
        <maml:description>
          <maml:para></maml:para>
        </maml:description>
      </command:returnValue>
    </command:returnValues>
    <maml:alertSet>
      <maml:alert>
        <maml:para>Returns a fresh PSCustomObject - the underlying SecureString token is never copied into the result.</maml:para>
      </maml:alert>
    </maml:alertSet>
    <command:examples>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 1 --------------------------</maml:title>
        <dev:code>Get-JsmConnection</dev:code>
        <dev:remarks>
          <maml:para>Shows the active connection's email, cloud ID, base URI, and the timestamp at which Connect-JsmService was last successful.</maml:para>
        </dev:remarks>
      </command:example>
      <command:example>
        <maml:title>-------------------------- EXAMPLE 2 --------------------------</maml:title>
        <dev:code>if (-not (Get-JsmConnection)) { Connect-JsmService }</dev:code>
        <dev:remarks>
          <maml:para>Idiom for "connect only if not already connected" inside a script.</maml:para>
        </dev:remarks>
      </command:example>
    </command:examples>
    <command:relatedLinks />
  </command:command>
</helpItems>