- Created by Alex Medved, last updated on Oct 11, 2024 5 minute read
This is the documentation for ConfiForms CLOUD app
ConfiForms app on Atlassian marketplace
Creating Jira issues with ConfiForms app for Confluence cloud uses the same concepts and approach as the server/data center version
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
-
Page:
Especially to the demos around creating Jira issues via web service connections. As this is exactly the method used in ConfiForms app for Confluence cloud
Here is a step by step tutorial on how to setup a form in Confluence cloud to create issues in JIRA
The form, we are about to create
2 fields, one to ask for JIRA issue summary and another to ask about issue description
The 3rd field is of type JIRA and is hidden with the rule (initially, for new records)
Configuration looks like this
Very useful page to see how various Jira field types shall be mapped
https://developer.atlassian.com/server/jira/platform/jira-rest-api-examples/
We have 2 IFTTTs to create the issue and to store the result of this operation (Jira issue key) back to ConfiForms record (the macro you see as "Unknown macro" is actually "ConfiForms IFTTT rules" macro, but as it uses the $ in the parameter expression the editor goes a bit crazy and reports this as "unknown macro". You can safely ignore this)
In order for our 1st IFTTT to create the JIRA issue to work you need to go to ConfiForms app settings and configure web-service connection to your JIRA
ConfiForms app settings could be accessed like this
Direct link would be
https://<YOUR_SERVER>.atlassian.net/wiki/plugins/servlet/ac/com.vertuna.confluence.plugins.confiforms/confi-forms-admin
You will have something like this (but using your server details and username)
Please make sure you follow the advise and generate API token to access Jira
For setting up connections to Jira cloud please consider using API tokens, https://id.atlassian.com/manage/api-tokens (Generated token goes to password field and your email address goes to the username field)
as basic auth is deprecated by Atlassian and will not work
And the IFTTT is configured as follows
Second IFTTT is configured as follows
It uses the result of the previous IFTTT and sets it back to ConfiForms record
entryId=[entry.id]&jiraKey=${iftttResult_JI.key}
We using the result of the "JI" IFTTT action and take the "key" property of it - the object stored in the result is the JSON response object returned by JIRA server
Updated way of referencing IFTTT macro result is by using [iftttResult_IFTTTNAME]
For example:
entryId=[entry.id]&jiraKey=[iftttResult_JI.key]
Complete storage format for you to reference and import is as follows (we also have a ConfiForms TableView to show the data stored with this ConfiForms Form)
<p class="auto-cursor-target"><br/></p> <p><br/></p> <ac:structured-macro ac:name="confiform" ac:schema-version="1" ac:macro-id="07191fcd-1954-4e6d-8a0e-63536f9d9de7"> <ac:parameter ac:name="formName">myform</ac:parameter> <ac:rich-text-body> <p> <ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="60f14199-9c9e-44f9-8f59-f0e540ebca35"> <ac:parameter ac:name="fieldName">summary</ac:parameter> <ac:parameter ac:name="fieldLabel">Summary</ac:parameter> <ac:parameter ac:name="type">text</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="ffbb4283-f010-4ffe-ad0c-f0e8f69e15f2"> <ac:parameter ac:name="fieldName">description</ac:parameter> <ac:parameter ac:name="fieldLabel">Description</ac:parameter> <ac:parameter ac:name="type">textarea</ac:parameter> </ac:structured-macro> </p> <p> <ac:structured-macro ac:name="confiform-field-definition" ac:schema-version="1" ac:macro-id="7bc8c39f-1075-44ae-bbb6-d0af118d5ddc"> <ac:parameter ac:name="fieldName">jiraKey</ac:parameter> <ac:parameter ac:name="fieldLabel">jiraKey</ac:parameter> <ac:parameter ac:name="type">jira</ac:parameter> <ac:parameter ac:name="extras">e6b2ccca-1bec-4b00-9a59-2850aa00cd6a</ac:parameter> </ac:structured-macro> <ac:structured-macro ac:name="confiform-field-definition-rules" ac:schema-version="1" ac:macro-id="d866a3e6-5ade-4378-8361-8899eaaf17f1"> <ac:parameter ac:name="condition">id:[empty]</ac:parameter> <ac:parameter ac:name="fieldName">jiraKey</ac:parameter> <ac:parameter ac:name="action">Hide field</ac:parameter> </ac:structured-macro> - rule to hide the jiraKey field </p> <p><br/></p> <ac:structured-macro ac:name="confiform-entry-register" ac:schema-version="1" ac:macro-id="932c3f67-8923-4a16-8878-78597d012ce2"> <ac:parameter ac:name="overrideSaveButtonLabel">Create Jira issue</ac:parameter> <ac:parameter ac:name="formName">myform</ac:parameter> <ac:rich-text-body> <p><br/></p></ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"><br/></p> <p class="auto-cursor-target"><br/></p> <p class="auto-cursor-target"><br/></p> <ac:structured-macro ac:name="confiform-ifttt" ac:schema-version="1" ac:macro-id="94deac46-2b58-4cc2-b854-778807ee07e1"> <ac:parameter ac:name="action">Create JIRA Issue</ac:parameter> <ac:parameter ac:name="extras">e6b2ccca-1bec-4b00-9a59-2850aa00cd6a</ac:parameter> <ac:parameter ac:name="event">onCreated</ac:parameter> <ac:parameter ac:name="resultName">JI</ac:parameter> <ac:rich-text-body> <p class="auto-cursor-target"><br/></p> <ac:structured-macro ac:name="noformat" ac:schema-version="1" ac:macro-id="ad9d9576-2025-42a5-a7cc-f2dd05f0fdba"> <ac:plain-text-body><![CDATA[{ "fields": { "project": { "key": "JTEST" }, "summary": "[entry.summary.escapeJSON]", "description": "[entry.description.escapeJSON]", "issuetype": { "name": "Bug" } } }]]> </ac:plain-text-body> </ac:structured-macro> <p class="auto-cursor-target"><br/></p></ac:rich-text-body> </ac:structured-macro> <ac:structured-macro ac:name="confiform-ifttt" ac:schema-version="1" ac:macro-id="e6b8116b-5d52-4458-95db-83fe22495413"> <ac:parameter ac:name="action">Create ConfiForms Entry</ac:parameter> <ac:parameter ac:name="event">onCreated</ac:parameter> <ac:parameter ac:name="title">entryId=[entry.id]&jiraKey=[iftttResult_JI.key]</ac:parameter> <ac:rich-text-body> <p><br/></p></ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"><br/></p></ac:rich-text-body> </ac:structured-macro> <p class="auto-cursor-target"><br/></p> <p class="auto-cursor-target">Show all</p> <ac:structured-macro ac:name="confiform-table" ac:schema-version="1" ac:macro-id="4e37c280-e3b1-4466-ae8f-763e551dfbdd"> <ac:parameter ac:name="formName">myform</ac:parameter> <ac:rich-text-body> <p><br/></p></ac:rich-text-body> </ac:structured-macro>
New Editor in Confluence cloud
If you are working with Confluence cloud new editor then please use "code" macro instead of "noformat" macro, as a workaround.
As there were so many macros and functionalities removed without providing any alternatives for many valid and very common use cases.
Also, with "new editor" nesting of bodied macros is not supported and you need to place your IFTTT macros outside the ConfiForms Form (Definition) macro. (The editor simply does not allow you to put these macros inside)
In this case please make sure you set the "Form name" parameter to match your form name
How to send and upload files to Jira issue from ConfiForms
This is very simple as long as you use "Create (or Update) Jira Issue" IFTTT rule
Just put a ConfiForms Field macro referencing your file field (in ConfiForms) inside the IFTTT macro body
ConfiForms will recognise there is a file or multiple files and will attempt to upload them into the Jira issue you have created or updated