Are you in the loop? Keep up with the latest by making sure you're subscribed to Community Announcements. Just click Watch and select Articles.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Copy a Form to the same project and for different projects using Automation and API

Work has already started on the new Forms API functionality and we now have some experimental APIs available for use. So now Marketplace Partners can already integrate forms into their products.

For more information, please refer to the features below:

 

As an extra option of workaround to the feature request "Forms Automation: In ProForma for Jira Cloud, allow copying forms between Issues with Automation", this article is meant to help users who want to use the new experimental features of the Forms API to automatically copy a form between tickets.

 

Workaround steps:

  • Create an Automation rule:
    • First, it will be needed to create an API token for the Web Request process. The Web Request needs your credentials and an API token encoded with base64.  For more information about this procedure, please refer to the documentation below:
      -    - Automation for Jira - Send web request using Jira REST API

    • We need to use the new API functionality of "Copy forms" in a Post web request. For example:
      • Copy a form on an issue status transition to a linked issue:

        - The web method will be a POST:

        POST https://api.atlassian.com/jira/jira/forms/cloud/{cloudId}/issue/{sourceIssueIdOrKey}/form/copy/{targetIssueIdOrKey}

        - The cloudId will be your Cloud ID and not your Org ID. The easy way to get the cloud id is to go to https://<instance>.atlassian.net/admin/jira-service-desk/portal-only-customers. You will get the Cloud id in the URL (e.g.: https://admin.atlassian.com/s/<cloud_id>/jira-service-desk/portal-only-customers)

        - The issue ID or issue Key that you are using. To add the issueId or issueKey dynamically, you can use the smart value {{issue.id}} or {{issue.key}}

        - The formId will be in the universally unique identifier "uuid" format. To get it you can use the Forms properties structure below:

        https://<yourCloudURL>.atlassian.net/rest/api/2/issue/<issueId>/properties/proforma.forms

        Screenshot 2023-05-22 at 17.48.05.png

        - To add the formId dynamically, you can use the smart value below:

        {{issue.properties."proforma.forms".forms.uuid}}

        - The targetIssueIdOrKey will be the issue that you want to copy. The icing on the cake here is to use the smart value below to get the ID of the linked issue:

        {{issue.issuelinks.inwardIssue.key}}

        - The automation rule will be as shown in the screenshot below:

        Screenshot 2023-06-09 at 19.00.27.png

 Note: To call experimental methods the "X-ExperimentalApi" and "opt-in" header must be provided on the web request headers.

This workaround will work as shown in the screen recording below:

 For different projects, the workaround will be the same, but with just a few more details:

  1. The automation rule must be with a global scope containing the projects that will communicate (where the forms will be copied and sent), in this example, I use two projects:
    Screenshot 2023-09-29 at 13.45.32.png
  2. It will be necessary to add a way to filter the linked issue containing the form that you want to copy, this will depend on each use case, in this example, I used "issues blocked by".

This workaround will work as shown in the screen recording below:

6 comments

Is there a smart value

{{issue.properties."proforma.forms".forms.uuid}}

if multiple forms are attached, it will return multiple uuid as well. how can we get the UUID of a specific attached form? 

Like Bruno Altenhofen likes this

The target issue id  smartvalue should be {{issue.issuelinks.outwardIssue}}

Like Bruno Altenhofen likes this
Bruno Altenhofen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Sep 20, 2023

Hello @Ralph Gerald Varon

Allow me to share with you this article that explains how to manipulate multiple forms separately:

Thanks!

Mauricio Heberle
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Sep 26, 2023 • edited Sep 28, 2023

It works for multiple projects, Ive just tested here. Thanks!

Like Bruno Altenhofen likes this
Bruno Altenhofen
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Sep 29, 2023 • edited

Hi @Mauricio Heberle

Thanks for the feedback!

Yes!!! I've updated this info in the article!! :D

Cheers!!

Like Mauricio Heberle likes this
Mauricio Heberle
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
Sep 29, 2023

@Bruno Altenhofen You're welcome! If this could be added to the component "Add Form", would be great. Also, I noticed that for some automations, it is necessary to refetch issue data before sending the web request. 

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events