From 935edbc9d14294d240d2c5eeccf7f6c1faaf44de Mon Sep 17 00:00:00 2001 From: Lee Goolsbee Date: Mon, 3 Nov 2025 13:14:41 -0600 Subject: [PATCH] ITPLT-4583 first pass at marketplace v3 API changes --- roles/product_install/defaults/main.yml | 13 ++++--------- .../molecule/jira_tarball_download_url/converge.yml | 4 ++-- .../tasks/jira-core_version_latest.yml | 4 ++-- .../tasks/jira-servicedesk_as_obr.yml | 13 ++++++------- .../tasks/jira-servicedesk_version_latest.yml | 4 ++-- .../tasks/jira-software_version_latest.yml | 4 ++-- roles/product_install/tasks/main.yml | 2 +- 7 files changed, 19 insertions(+), 25 deletions(-) diff --git a/roles/product_install/defaults/main.yml b/roles/product_install/defaults/main.yml index d85eb96..f5d317a 100644 --- a/roles/product_install/defaults/main.yml +++ b/roles/product_install/defaults/main.yml @@ -30,14 +30,9 @@ atl_product_home_shared_download: "{{ atl_product_home_shared_download_dir }}/{{ atl_product_home_shared_moving_lock: "{{ atl_product_home_shared_download }}_moving" atl_product_home_shared_completed_lock: "{{ atl_product_home_shared_download }}_completed" -atl_marketplace_base: "https://marketplace.atlassian.com" -atl_mpac_products: "https://marketplace.atlassian.com/rest/2/products" -atl_servicedesk_latest_url: "https://marketplace.atlassian.com/rest/2/products/key/jira-servicedesk/versions/latest" -atl_servicedesk_versioned_url: "https://marketplace.atlassian.com/rest/2/products/key/jira-servicedesk/versions/name/{{ atl_product_version }}" -atl_servicedesk_url_map: - latest: "{{ atl_servicedesk_latest_url }}" - default: "{{ atl_servicedesk_versioned_url }}" -atl_servicedesk_metadata_url: "{{ atl_servicedesk_url_map[atl_product_version] | default(atl_servicedesk_url_map['default']) }}" +atl_mpac_base_url: "https://marketplace.atlassian.com" +atl_mpac_api_base_url: "{{ atl_mpac_base_url }}/rest/3" +atl_mpac_jsm_app_software_id: "1bbd1b4a-95cd-4762-b7ae-3e3e99eee7d8" atl_install_jsd_as_obr: false atl_source_obr_from_marketplace: true @@ -46,4 +41,4 @@ atl_servicedesk_download_file: "{{ atl_installer_temp }}/jira-servicedesk.{{ atl force_version_update: false skip_shared_home_symlink: false -ansible_lookup_url_agent: "ansible-httpget_dc-deployments-automation" \ No newline at end of file +ansible_lookup_url_agent: "ansible-httpget_dc-deployments-automation" diff --git a/roles/product_install/molecule/jira_tarball_download_url/converge.yml b/roles/product_install/molecule/jira_tarball_download_url/converge.yml index 6b455ae..3b22c7a 100644 --- a/roles/product_install/molecule/jira_tarball_download_url/converge.yml +++ b/roles/product_install/molecule/jira_tarball_download_url/converge.yml @@ -14,8 +14,8 @@ # Although marketplace (mpac) is used in this example, this could potentially be in a non mpac url. # In this case it would not be possible to query atl_jsd_build_info to source the atl_jsd_build. One is therefore provided. atl_install_jsd_as_obr: true - atl_jsd_build: "4.18.0" - atl_obr_download_url: "https://marketplace.atlassian.com/download/apps/1213632/version/1040180000" + atl_jsd_build: "10.2.1" + atl_obr_download_url: "https://marketplace.atlassian.com/artifacts/26552013-9bd9-4cc7-bc98-7958689f02df/download" # When using a tarball the following are also required: atl_download_format: "tarball" atl_use_system_jdk: true diff --git a/roles/product_install/tasks/jira-core_version_latest.yml b/roles/product_install/tasks/jira-core_version_latest.yml index 9c423a8..5c2fa82 100644 --- a/roles/product_install/tasks/jira-core_version_latest.yml +++ b/roles/product_install/tasks/jira-core_version_latest.yml @@ -2,8 +2,8 @@ - name: Fetch the latest version from URL ansible.builtin.set_fact: - atl_product_version_json: "{{ lookup('url', 'https://marketplace.atlassian.com/rest/2/products/key/jira-software/versions') }}" + atl_product_version_json: "{{ lookup('url', '{{ atl_mpac_api_base_url }}/parent-software/jira/versions?state=ACTIVE&limit=1') }}" - name: Set the local var to retrieved version ansible.builtin.set_fact: - atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" \ No newline at end of file + atl_latest_version: "{{ atl_product_version_json.versions[0].versionNumber }}" diff --git a/roles/product_install/tasks/jira-servicedesk_as_obr.yml b/roles/product_install/tasks/jira-servicedesk_as_obr.yml index 9f1947b..e755cbc 100644 --- a/roles/product_install/tasks/jira-servicedesk_as_obr.yml +++ b/roles/product_install/tasks/jira-servicedesk_as_obr.yml @@ -11,7 +11,7 @@ - name: Marketplace OBR - Get the installer product version info ansible.builtin.uri: - url: "{{ atl_mpac_products }}/key/jira/versions/name/{{ atl_product_version }}" + url: "{{ atl_mpac_api_base_url }}/parent-software/jira/versions/number/{{ atl_product_version }}" return_content: yes register: atl_product_version_info @@ -21,22 +21,21 @@ - name: Marketplace OBR - Get the JSD build version info ansible.builtin.uri: - url: "{{ atl_mpac_products }}/key/jira-servicedesk/versions/latest?application=\ - jira&applicationBuild={{ atl_product_version_info.json.buildNumber }}" + url: "{{ atl_mpac_api_base_url }}/app-software/{{ atl_mpac_jsm_app_software_id }}/versions?parentSoftwareId=jira&parentSoftwareVersionId={{ atl_product_version_info.json.buildNumber }}&state=ACTIVE&limit=1" return_content: yes register: atl_jsd_build_info - - name: Marketplace OBR - Show the returned obr binary href + - name: Marketplace OBR - Show the returned obr artifact ID ansible.builtin.debug: - msg="obr_ref={{ atl_jsd_build_info.json._embedded.artifact._links.binary.href }}" + msg="obr_artifact_id={{ atl_jsd_build_info.json.versions[0].frameworkDetails.attributes.artifactId }}" - name: Marketplace OBR - Set atl_obr_download_url ansible.builtin.set_fact: - atl_obr_download_url: "{{ atl_jsd_build_info.json._embedded.artifact._links.binary.href }}" + atl_obr_download_url: "{{ atl_mpac_base_url }}/artifacts/{{ atl_jsd_build_info.json.versions[0].frameworkDetails.attributes.artifactId }}/download" - name: Marketplace OBR - Set atl_jsd_build ansible.builtin.set_fact: - atl_jsd_build: "{{ atl_jsd_build_info.json.name }}" + atl_jsd_build: "{{ atl_jsd_build_info.json.versions[0].versionNumber }}" - name: Marketplace OBR - Show the obr filename ansible.builtin.debug: diff --git a/roles/product_install/tasks/jira-servicedesk_version_latest.yml b/roles/product_install/tasks/jira-servicedesk_version_latest.yml index 07c9bbd..b64fd6f 100644 --- a/roles/product_install/tasks/jira-servicedesk_version_latest.yml +++ b/roles/product_install/tasks/jira-servicedesk_version_latest.yml @@ -2,8 +2,8 @@ - name: Fetch the latest version from URL ansible.builtin.set_fact: - atl_product_version_json: "{{ lookup('url', 'https://marketplace.atlassian.com/rest/2/products/key/jira-servicedesk/versions') }}" + atl_product_version_json: "{{ lookup('url', '{{ atl_mpac_api_base_url }}/app-software/{{ atl_mpac_jsm_app_software_id }}/versions?parentSoftwareId=jira&state=ACTIVE&limit=1') }}" - name: Set the local var to retrieved version ansible.builtin.set_fact: - atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" \ No newline at end of file + atl_latest_version: "{{ atl_product_version_json.versions[0].versionNumber }}" diff --git a/roles/product_install/tasks/jira-software_version_latest.yml b/roles/product_install/tasks/jira-software_version_latest.yml index 9c423a8..5c2fa82 100644 --- a/roles/product_install/tasks/jira-software_version_latest.yml +++ b/roles/product_install/tasks/jira-software_version_latest.yml @@ -2,8 +2,8 @@ - name: Fetch the latest version from URL ansible.builtin.set_fact: - atl_product_version_json: "{{ lookup('url', 'https://marketplace.atlassian.com/rest/2/products/key/jira-software/versions') }}" + atl_product_version_json: "{{ lookup('url', '{{ atl_mpac_api_base_url }}/parent-software/jira/versions?state=ACTIVE&limit=1') }}" - name: Set the local var to retrieved version ansible.builtin.set_fact: - atl_latest_version: "{{ atl_product_version_json._embedded.versions[0].name }}" \ No newline at end of file + atl_latest_version: "{{ atl_product_version_json.versions[0].versionNumber }}" diff --git a/roles/product_install/tasks/main.yml b/roles/product_install/tasks/main.yml index ff18d73..8439b42 100644 --- a/roles/product_install/tasks/main.yml +++ b/roles/product_install/tasks/main.yml @@ -21,7 +21,7 @@ - name: Confirm marketplace is available ansible.builtin.uri: - url: "{{ atl_marketplace_base }}/healthcheck" + url: "{{ atl_mpac_base_url }}/healthcheck" status_code: 200 return_content: no http_agent: "ansible-httpget_dc-deployments-automation_{{ ansible_play_name }}"