This is an old revision of the document!


Process Feedback PTC-ILM specific

First of all, create or choose a ILM item type where the feedback will be collected.

Stages will use the SOAP interface to create the items.

Stages config.xml

To enable the following configuration section must be added in the conf/config.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<stages-config>
  <!-- Insert this block to your stages config.xml file -->
  <feedback-system name="ptcilm">
 
    <host url="http://integrity.example.com:7001/webservices/10/2/Integrity/?wsdl">
 
      <!-- Credentials for a (technical) user who is allowed to create issues -->
      <property name="user" value="user" />
      <property name="password" value="secret" />
 
      <!-- Define the item type where the issue should be created in -->
      <property name="type" value="feedback" />
 
      <!-- As alternative to the project key you can specify the project by its id -->
      <property name="imweb" value="http://integrity.example.com:7001/im" /> -->
 
 
      <!-- The summary field will always be available and is automatically mapped to the Jira "Summary" field  -->
 
      <!--
      The user will be asked to enter the following text fields. All text fields are optional.
      - The "ident" must be unique and is used to identify the right translation property.
      - The "type" defines if the field is a multi-line text ("text") or a single line string ("string").
      - The "target" defines the name of the field in ILM (e.g. "Impact").
      - Optional: The targetType defines the type of the field. Supported PTC-ILM fields see below.
      -->
      <attributes>
        <attribute ident="description" type="text" target="Description" targetType="longtext" />
        <!-- The following fields could be enabled if you want the users to provide more data with every feedback item: -->
        <!--
        <attribute ident="impact" type="string" target="Impact" />
        -->
      </attributes>
 
      <!--
      You can map element specify information to your Jira issue. These sources are available:
      - elementUrl e.g. https://stages.example.com/stages/index.html#/workspace/200/_vv/(process/activity/_wUV9sBbNHr-aicWx33VsQA)
      - workspaceName e.g. "Software Engineering"
      - workspacePath e.g. "Company | Software"
      - creatorFullname "John Doe"
      - creatorUsername "jdoe"
      The "target" defines the id for the custom field in Jira (e.g. "customfield_10101").
      Optional: The targetType defines the type of the Jira field. Supported Jira fields see below.
      -->
      <system-attribute-mappings>
        <attribute source="elementUrl" target="customfield_10104" />
        <attribute source="workspaceName" target="customfield_10105" />
        <attribute source="workspacePath" target="customfield_10106" />
        <attribute source="creatorFullname" target="customfield_10107" />
        <attribute source="creatorUsername" target="customfield_10108" />
      </system-attribute-mappings>
    </host>
  </feedback-system>
</stages-config>

Supported Jira fields

  • Description: targetType=“” (Empty)
  • Text Field (single line): targetType=“” (Empty)
  • Text Field (multi line): targetType=“” (Empty)
  • Select List (single choice): targetType=“selectList-singleChoice”
  • Components: targetType=“components”

Be aware: If you choose Select or Component then the user entered values must be configured in Jira. Otherwise the ticket creation will fail.

Other Jira fields are not supported at the moment.

Custom Endpoint

If your Jira REST-Endpiont differs from the standard location, you can specify it. If your link to the Jira-API is for example like https://api.example.com/example/api/2/issue then you have to specify https://api.example.com/example/ as value for this property.

<property name="jira.rest.endpoint" value="https://api.example.com/example/" />

Proxy

You can specify a proxy server.

<property name="proxy.enabled" value="true" />
<property name="proxy.type" value="https" />
<property name="proxy.port" value="3128" />
<property name="proxy.hostname" value="proxy.example.com" />

OAuth 2.0 Password Grant

We support also OAuth 2.0 with Password Grant. To configure it there are different properties:

<property name="authentication.type" value="oauth20" />
<property name="authentication.oauth20.granttype" value="password" />
 
<!-- URL to your OAuth 2.0 Token Endpiont -->
<property name="authentication.oauth20.tokenendpoint" value="https://example.com/oauth/token" />
 
<!-- OAuth 2.0 Client Id -->
<property name="authentication.oauth20.clientid" value="" />
 
<!-- OAuth 2.0 Client Secret -->
<property name="authentication.oauth20.clientsecret" value="" />
 
<!--  OAuth 2.0 Scope -->
<property name="authentication.oauth20.scope" value="" />
 
<!-- OAuth 2.0 (technical) user -->
<property name="authentication.oauth20.user" value="" />
 
<!-- OAuth 2.0 password -->
<property name="authentication.oauth20.password" value="" />

Custom Header

You can set custom header to the Jira-REST-Requests.

<property name="jira.rest.customheader.key" value="" />
<property name="jira.rest.customheader.value" value="" />