Next revision | Previous revision |
75:process_feedback_ptcilm [2020/01/23 16:46] – created fnpk | 75:process_feedback_ptcilm [2024/02/15 00:00] (current) – external edit 127.0.0.1 |
---|
====== Process Feedback PTC-ILM specific ====== | ====== Process Feedback PTC-ILM specific ====== |
| |
First of all, create or choose a PTC item type where the feedback will be collected. | 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 will use the SOAP interface to create the items. |
| |
TODO!!! | |
| |
===== Stages config.xml ===== | ===== Stages config.xml ===== |
<!-- Insert this block to your stages config.xml file --> | <!-- Insert this block to your stages config.xml file --> |
<feedback-system name="ptcilm"> | <feedback-system name="ptcilm"> |
| |
http://integrity10.er.methodpark.de:7001/webservices/10/2/Integrity/?wsdl | |
<host url="https://jira.example.com/jira"> | |
| |
<!-- Credentials for a (technical) user who is allowed to create issues in the Jira project --> | <!-- Url to the WSDL / SOAP endpoint --> |
<property name="authentication.type" value="basic" /> | <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="user" value="user" /> |
<property name="password" value="secret" /> | <property name="password" value="secret" /> |
| |
<!-- Define the project where the issue should be created in --> | <!-- Define the item type where the issue should be created in --> |
<property name="projectKey" value="FEED" /> | <property name="type" value="feedback" /> |
<!-- As alternative to the project key you can specify the project by its id --> | |
<!-- <property name="projectId" value="1234" /> --> | |
| |
<!-- Define the name of the issue type that should be created --> | <!-- Url to the Web ILM. It is used to create a link to the generated item --> |
<property name="issuetypeName" value="Task" /> | <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 --> | <!-- Optional: Map issue to a project (Since Stages 7.5.1.3) --> |
| <property name="projectName" value="/Feedback Project" /> |
| <property name="projectField" value="Project" /> |
| |
| <!-- The summary field will always be available and is automatically mapped to the "Summary" field --> |
| |
<!-- | <!-- |
The user will be asked to enter the following text fields. All text fields are optional. | See common feedback documentation |
- The "ident" must be unique and is used to identify the right translation property. | - The "target" defines the name of the field in ILM (e.g. "Impact"). |
- The "type" defines if the field is a multi-line text ("text") or a single line string ("string"). | - Optional: The targetType defines the type of the field. Supported PTC-ILM fields see below. |
- The "target" defines the id of the custom field in Jira (e.g. "customfield_10101"). | |
- Optional: The targetType defines the type of the Jira field. Supported Jira fields see below. | |
--> | --> |
<attributes> | <attributes> |
<attribute ident="description" type="text" target="description" /> | <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="annual_savings" type="string" target="customfield_10100" /> | |
<attribute ident="priority" type="string" target="customfield_10101" /> | |
<attribute ident="component" type="string" target="components" targetType="components" /> | |
--> | |
</attributes> | </attributes> |
| |
<!-- | <!-- |
You can map element specify information to your Jira issue. These sources are available: | See common feedback documentation |
- elementUrl e.g. https://stages.example.com/stages/index.html#/workspace/200/_vv/(process/activity/_wUV9sBbNHr-aicWx33VsQA) | The "target" defines the name for the field in ILM (e.g. "Element Url"). |
- workspaceName e.g. "Software Engineering" | Optional: The targetType defines the type of the ILM field. Supported fields see below. |
- 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> | <system-attribute-mappings> |
<attribute source="elementUrl" target="customfield_10104" /> | <attribute source="elementUrl" target="Element Url" /> |
<attribute source="workspaceName" target="customfield_10105" /> | <attribute source="workspaceName" target="Workspace Name" /> |
<attribute source="workspacePath" target="customfield_10106" /> | <attribute source="workspacePath" target="Workspace Path" /> |
<attribute source="creatorFullname" target="customfield_10107" /> | <attribute source="creatorFullname" target="Creator Fullname" /> |
<attribute source="creatorUsername" target="customfield_10108" /> | <attribute source="creatorUsername" target="Assigned User" targetType="user"/> |
</system-attribute-mappings> | </system-attribute-mappings> |
| |
| <!-- |
| See common feedback documentation |
| The "target" defines the name for the field in ILM (e.g. "SourceSystemField"). |
| Optional: The targetType defines the type of the ILM field. Supported fields see below. |
| --> |
| <custom-attribute-mappings> |
| <attribute value="Stages" target="SourceSystemField" /> |
| </custom-attribute-mappings> |
</host> | </host> |
</feedback-system> | </feedback-system> |
</code> | </code> |
| |
==== Supported Jira fields ===== | ==== Supported fields ===== |
* Description: ''targetType=""'' (Empty) | * shorttext: ''targetType=""'' (Empty) |
* Text Field (single line): ''targetType=""'' (Empty) | * longtext: ''targetType="longtext"'' (Also with rich text setting) |
* Text Field (multi line): ''targetType=""'' (Empty) | * user: ''targetType="user"'' |
* 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. | Be aware: If you choose user then the user entered values or the Stages username must match / exist in ILM. Otherwise the item creation will fail. |
| |
Other Jira fields are not supported at the moment. | Other ILM 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 ''<nowiki>https://api.example.com/example/api/2/issue</nowiki>'' then you have to specify ''<nowiki>https://api.example.com/example/</nowiki>'' as value for this property. | |
<code xml> | |
<property name="jira.rest.endpoint" value="https://api.example.com/example/" /> | |
</code> | |
| |
==== Proxy ==== | |
| |
You can specify a proxy server. | |
| |
<code xml> | |
<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" /> | |
</code> | |
| |
==== OAuth 2.0 Password Grant ==== | |
| |
We support also OAuth 2.0 with Password Grant. To configure it there are different properties: | |
| |
<code xml> | |
<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="" /> | |
</code> | |
| |
==== Custom Header ==== | |
| |
You can set custom header to the Jira-REST-Requests. | |
| |
<code xml> | |
<property name="jira.rest.customheader.key" value="" /> | |
<property name="jira.rest.customheader.value" value="" /> | |
</code> | |
| |