Differences

This shows you the differences between two versions of the page.

Link to this comparison view

261:process_feedback_redmine [2026/03/13 16:58] – created - external edit 127.0.0.1261:process_feedback_redmine [2026/04/13 14:22] (current) – removed Neubauer, Peter
Line 1: Line 1:
-====== Process Feedback Redmine specific ====== 
  
-First of all, create or choose a Redmine project where the feedback will be collected. 
-You need to get the identifier for that project: 
- 
-{{ :feedback:redmine:project-identifier.png?300 |}} 
- 
-Second, you need a user for creating the issues in that project. Navigate to the account details page and get the API access key from there. 
- 
-{{ :feedback:redmine:access-key.png?300 |}} 
- 
-Stages will use the [[https://www.redmine.org/projects/redmine/wiki/Rest_api|Redmine REST API]] interface to create the items. 
- 
-===== Stages config.xml ===== 
- 
-To enable the following configuration section must be added in the ''conf/config.xml'': 
-<code xml> 
-<?xml version="1.0" encoding="UTF-8" ?> 
-<stages-config> 
-  <!-- Insert this block to your stages config.xml file --> 
-  <feedback-systems> 
-    <feedback-system name="redmine"> 
- 
-        <!-- Url to the Redmine server --> 
-        <host url="http://redmine.example.com" ident="redmine1" displayName="Example Redmine"> 
- 
-        <!-- The api access key to authenticate against the Redmine server --> 
-        <property name="apiAccessKey" value="*****" /> 
-         
-        <!-- Set the project identifier where the issue should be created in --> 
-        <property name="projectIdentifier" value="myProjectIdentifier" /> 
- 
-        <!-- The summary field will always be available and is automatically mapped to the "subject" field  --> 
- 
-        <!-- 
-        See common feedback documentation 
-        - The "target" defines the name of the field in Redmine (e.g. "assigned_to_id"). 
-        - The targetType defines whether the value is a custom attribute or built-in and defines the type of the value. 
-        - e.g. targetType="custom.text" targetType="custom.user" 
-        - "custom" defaults to "custom.text" 
-        - missing targetType defaults to "text" 
-        --> 
-        <attributes> 
-            <attribute ident="description" type="text" target="description" /> 
-        </attributes> 
- 
-        <!-- 
-        See common feedback documentation 
-        The "target" defines the custom field id for the field in Redmine (e.g. "1"). 
-        (To get the custom field ids go to http://redmine.excample.com/issues/[issueId].json) 
-        Optional: The targetType defines the type of the Redmine field. Supported fields see below. 
-        --> 
-        <system-attribute-mappings> 
-            <attribute source="elementUrl" target="1" targetType="custom" /> 
-            <attribute source="workspaceName" target="2" targetType="custom" /> 
-            <attribute source="workspacePath" target="3" targetType="custom" /> 
-            <attribute source="creatorFullname" target="4" targetType="custom" /> 
-            <attribute source="creatorUsername" target="assigned_to_id" targetType="user"/> 
-        </system-attribute-mappings> 
-         
-        <!-- 
-        See common feedback documentation 
-        The "target" defines the custom field id for the field in Redmine (e.g. "1"). 
-        (To get the custom field ids go to http://redmine.excample.com/issues/[issueId].json) 
-        Optional: The targetType defines the type of the Redmine field. Supported fields see below. 
-        --> 
-        <custom-attribute-mappings> 
-            <attribute value="Stages" target="MySourceSystemField" /> 
-        </custom-attribute-mappings> 
-        </host> 
-    </feedback-system> 
-  </feedback-systems> 
-</stages-config> 
-</code> 
- 
-==== Supported Redmine Issue Fields ===== 
-Example: 
- 
-<code xml><attribute ident="attributeIdent" type="text" target="description" /></code> 
- 
-  * subject: <nowiki>targetType=""</nowiki> (Subject is always enabled and must not be configured in config.xml) 
-  * description: <nowiki>targetType=""</nowiki> 
-  * assigned_to_id: <nowiki>targetType="user"</nowiki> 
-  * custom_fields: <nowiki>targetType="custom[.targetType]"</nowiki> -> See section about custom fields 
- 
-==== Supported Redmine Custom Fields ===== 
- 
-Custom fields have a unique ID and can be written using this ID. 
- 
-Example for attribute mapping: 
-<code xml><attribute ident="impact" type="text" target="1" targetType="custom"/></code> 
- 
-Example for system attribute mapping: 
-<code xml><attribute source="elementUrl" target="2" targetType="custom"/></code> 
- 
- 
-Supported Custom Field Types: 
- 
-  * Text: <nowiki>targetType="custom"</nowiki> 
-  * Long text: <nowiki>targetType="custom"</nowiki> 
-  * Boolean: <nowiki>targetType="custom"</nowiki> 
-  * Link: <nowiki>targetType="custom"</nowiki> 
-  * User: <nowiki>targetType="custom.user"</nowiki> 
- 
-To identify the IDs of the custom fields of your issues, log in to redmine. Make sure, there is at least one existing issue in the project. Navigate to this URL: <nowiki>https://<redmine-server-name>/issues/1.json </nowiki>. 
- 
-You will get the structure of the issue in JSON format as follows: 
- 
-{{ :feedback:redmine:custom-fields.png?200 |}} 
- 
-==== Be aware ==== 
- 
-  * If you choose target type **user**, then the users must be valid Redmine users. Otherwise the ticket creation will fail.