Skip to main content

Polarion ALM

Roboticks integrates with Siemens Polarion ALM through two complementary paths:
  1. Direct sync via the BYO connector framework (v1) — Roboticks (or the rbtk CLI) talks to Polarion’s REST API and mirrors work items, link roles, and test records into the traceability matrix. Continuous, incremental, and links back to the original work item.
  2. ReqIF round-trip (free, always supported) — for snapshot-style audits and read-back-with-coverage workflows. Lossless via Polarion’s official ReqIF Importer/Exporter extension.
This page covers both. v1’s primary mode is CLI push (rbtk connector sync polarion) since most Polarion instances are on-prem behind firewalls. Cloud sync is available when your Polarion is internet-reachable AND your org has the Polarion Technology Partner relationship activated (partner_status = active).
Polarion’s REST endpoint is JSON:API at /polarion/rest/v1/. Auth is a Personal Access Token (PAT). OAuth2 is admin-gated and rare; PAT is the documented path.

Connector type and pricing

You bring the Polarion license and the ReqIF Importer/Exporter extension. Roboticks never connects to Polarion directly.

v1 direct sync (cli_push primary)

The adapter pulls: Incremental sync is updated:>{cursor} against the work items endpoint — subsequent syncs only pull what changed.

Setup — CLI (primary)

1

Add the Polarion connector

Settings → Integrations → Requirements → Polarion → Subscribe. The setup wizard first walks you through installing rbtk if it isn’t already in your CI.
2

Mint a Polarion PAT

In Polarion: My Account → Personal Access Tokens → Generate. Scope: read access to the project(s) you want to mirror. Copy the token; you won’t see it again.
3

Configure credentials in Roboticks

The --project-key value is the Polarion project ID (the part of the URL after /project/).
4

Run the first sync

First sync pulls all work items; subsequent runs are incremental.
5

Wire into CI

ReqIF round-trip (alternative, always free)

One-time setup

1

Install the Polarion ReqIF extension

In Polarion: Administration → Extensions Management → Install. Pick ReqIF Importer/Exporter (Siemens-supplied). Restart the Polarion server.
2

Add the connector in Roboticks

Settings → Integrations → Requirements → Add → Polarion. Name it for the project (e.g., polarion-armcontroller).
3

Author a Polarion-specific field mapping

Polarion uses slugified workItem type IDs (systemrequirement, safetyreq) and link role IDs (derives_from, verifies). Provide a YAML mapping that handles them:
Upload via CLI:

CI recipe

Polarion-specific quirks

WorkItem type slugs are case-sensitive

Polarion lowercases and removes spaces in its native type IDs. System Requirement (display) becomes systemrequirement (slug). The mapping uses the slug.

type_attr_namespace

Polarion qualifies its custom attributes with a namespace URI. The default http://eu.siemens.polarion/workitem works for most installs; check your Polarion’s ReqIF export to confirm. Polarion link roles are also slugified (e.g., derives_from, verifies). Compare against Roboticks’ canonical names (derives_from, confirmed_by, refines) — the mapping translates them.

Multi-language fields

If Polarion is configured multi-language, the ReqIF export includes one xhtml.div per locale. The mapping picks the first locale by default; specify explicitly:

Baseline names

Polarion exports include the baseline name in the ReqIF header. Roboticks records it as the release attribute on the requirement snapshot — so a Roboticks coverage report can be queried “as of Polarion baseline X” later.

Round-trip caveats

Polarion stores them with spaces; the ReqIF export camel-cases them silently. ASIL/PL becomes aSILPL. Mirror the camel-case in the mapping.
Polarion’s workflow state (Draft / Approved / Released) is not captured by ReqIF. If you need it in Roboticks, add a custom field whose value mirrors the workflow state.
Polarion’s ReqIF Importer creates new workItems unless the INTERNAL_ID is preserved. Roboticks’ export-back includes the original Polarion ID in ReqIF.ForeignAttributes/polarion.workItemId — the Importer reads this only when configured with “Use foreign attributes for ID matching” (Polarion 22 R2+).

Validation

Both numbers should match (ignoring archived requirements).

Troubleshooting

Add it to the workitem_types mapping or set a default:
Your Polarion has a typed field (e.g., enum) that Roboticks exports as string. Add an explicit type hint in the mapping:

Next

Jama

The other big RM tool — same shape, different field names.

codeBeamer

PTC / Intland codeBeamer.