diff --git a/workspaces/x2a/plugins/x2a-backend/templates/x2a-job-script.sh b/workspaces/x2a/plugins/x2a-backend/templates/x2a-job-script.sh index bd33947b90..9a0da61324 100644 --- a/workspaces/x2a/plugins/x2a-backend/templates/x2a-job-script.sh +++ b/workspaces/x2a/plugins/x2a-backend/templates/x2a-job-script.sh @@ -412,12 +412,19 @@ case "${PHASE}" in echo "=== Step 2: Publishing to AAP ===" echo "Command: uv run app.py publish-aap --target-repo ${TARGET_REPO_URL} --target-branch ${TARGET_REPO_BRANCH} --project-id ${PROJECT_DIR}" cd /app - uv run app.py publish-aap \ + PUBLISH_OUTPUT=$(uv run app.py publish-aap \ --target-repo "${TARGET_REPO_URL}" \ --target-branch "${TARGET_REPO_BRANCH}" \ - --project-id "${PROJECT_DIR}" - - ARTIFACTS+=("ansible_project:${PROJECT_DIR}/ansible-project") + --project-id "${PROJECT_DIR}" 2>&1 | tee /dev/stderr) + + # Parse AAP project ID from output and construct URL + AAP_PROJECT_ID=$(echo "${PUBLISH_OUTPUT}" | grep -oP 'ID: \K[0-9]+' | tail -1) + if [ -n "${AAP_PROJECT_ID}" ]; then + ARTIFACTS+=("ansible_project:${AAP_CONTROLLER_URL}/execution/projects/${AAP_PROJECT_ID}/details") + else + echo "WARNING: Could not parse AAP project ID from publish-aap output" + ARTIFACTS+=("ansible_project:${AAP_CONTROLLER_URL}/execution/projects") + fi ;; *) diff --git a/workspaces/x2a/plugins/x2a/src/components/ModulePage/ArtifactsCard.tsx b/workspaces/x2a/plugins/x2a/src/components/ModulePage/ArtifactsCard.tsx index f270ea7dc7..8be4ed1c44 100644 --- a/workspaces/x2a/plugins/x2a/src/components/ModulePage/ArtifactsCard.tsx +++ b/workspaces/x2a/plugins/x2a/src/components/ModulePage/ArtifactsCard.tsx @@ -114,11 +114,17 @@ export const ArtifactsCard = ({ + ansibleProjectArtifact ? ( + + {humanizeArtifactType(t, ansibleProjectArtifact.type)} + + ) : ( + t('module.phases.none') + ) } /> diff --git a/workspaces/x2a/plugins/x2a/src/components/ModuleTable/Artifacts.tsx b/workspaces/x2a/plugins/x2a/src/components/ModuleTable/Artifacts.tsx index feaf1cc4b4..79f0457028 100644 --- a/workspaces/x2a/plugins/x2a/src/components/ModuleTable/Artifacts.tsx +++ b/workspaces/x2a/plugins/x2a/src/components/ModuleTable/Artifacts.tsx @@ -39,9 +39,13 @@ export const ArtifactLink = ({ }) => { const classes = styles(); const { t } = useTranslation(); + const url = + artifact.type === 'ansible_project' + ? artifact.value + : buildArtifactUrl(artifact.value, targetRepoUrl, targetRepoBranch); return (