Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Dev Space

Customize and extend the power of Alteryx with SDKs, APIs, custom tools, and more.

Jira Iterative Macro Connector

SDB40
7 - Meteor

Hello All,

 

Public Gallery Link: https://gallery.alteryx.com/#!app/Jira-Iterative-Macro-Connector/5cf81b8a0462d712c8e75001

 

After a few requests, I have finally decided to post some information on the Jira Iterative Macro Connector. Hopefully this short document helps to clarify.

 

Special Note and Thank you: This work was an "add-on" from @Coxta45 original "Jira Connector" and is an improvement (to me) based on some needs and limitations of a single API call.

 

Please refer here for detailed documentation to the Original Jira Connector:

https://community.alteryx.com/t5/Dev-Space/JIRA-Connector/td-p/51562

What is different from the original Jira Connector and the Jira Iterative Macro Connector?

Jira ConnectorJira Iterative Macro Connector
Single API CallMultiple (Iteartive) API Calling
Subject to server data limitsWill iterate beyond Server limits
Macro Dialogue InterfaceText Based Interface (file)

 

Why the need for Iterations?

 

We use Jira for Digital Manage for Daily Improvement (MDI) boards and Scrum boards, and the limitations of Canned Dashboards and complexity of EasyBI called for a need to extract all the data on a board and pull it into Tableau.

Due to Jira server limitations from local site admins, I was only able to pull 100 records from a given Jira Project at a time.  Having Jira projects that contained thousands of records, I had a need to iterate beyond the server limitations.  The iterations verify max records and iterate on a single API call until the max records for a project are received.

What input do I need to use the Macro?

The table below (also attached) outlines the following:

 

  1. First Row depicts the header row
  2. Second Row depicts the actual information you need to supply
  3. Third Row depicts an explanation of the information you need to supply

forQueryissuesmaxstart_withuserIteratorfieldsprojectapipassSite Base
all{"jql":"project = 16301","startAt":0,"maxResults":1000,"fields":[],"expand":["names"]}all1000example@domain.com0all<projectID>/rest/api/latest/search?jql&startAt&maxResults&validateQuery&fields&expand<API TOKEN>https://example.jira.com
(all issues, all issues assigned to me, etc. - just do all)(you can change this to reflect the other base parameters in the input file.  its just a base input set for the extraction, it will update as you iterate)(all issues, improvements, bugs, etc. - probably do all and filter later)(max number of results, will overwrite maxResults)(starting position, start at 0 to pull everything. Large numbers pull less data)(use your email, or rather the email that has an API token tied to it)(leave at 0, I think this is unused now with some changes but I don’t want to touch this)(same as before, probably leave at all unless you want a truncated data set)( id of desired project as is in data, e.g. 16301 which will be referenced in the JQL query)(this is the desired api the whole thing is built around)(must be a Jira Admin and generate this from your Jira site)

(your jira domain)

 

Initial Workflow Setup

 

Please refer to the screenshot and steps below to help with initial workflow setup when using the Iterative macro.

SDB40_0-1595013596502.png

 

  1. Step 1 - update the file in this post with the appropriate information or add a manual text based input containing the information
  2. Step 2 - hook up a browse to the iterative side
    1. This is mostly unused if setup correctly, but is required for iterative macros
    2. Can be useful if you need to debug the iterative side of the macro as it will show you outputs of the iterations which feed into the inputs of the next iteration
  3. Step 3 - the output data stream which you can build any data transformations as you see fit
    1. I personally did some data cleanup here as I intentionally export the kitchen sink and then trim it down later

 

25 REPLIES 25
husschea
5 - Atom

Hello,

 

I am currently getting the error:

Error: Jira Iterative Macro Connector (4): Iteration #1: Tool #11: No valid fields were selected.

 

The Jira Macro Connector does not have any fields or anything at all in its Configuration, so I am unsure where i need to select fields. I have included a screenshot of how I have it set up at the moment.

 

husschea_0-1652969064307.png

 

How can i fix this?

matthewlbass14
5 - Atom

I'm trying to configure the input file. However, I keep receiving the below error when I run the macro. 

 

matthewlbass14_0-1653319260738.png

My site is "https://[mycompany].atlassian.net/". Should it be something different? 

matthewlbass14
5 - Atom

I've worked past my previous post. I'm not receiving a different error in the micro (Tool# 106). See below.

matthewlbass14_0-1653324631433.pngmatthewlbass14_1-1653324666724.png

I don't see anything wrong with it. I appreciate any assistance you can provide. 

 

Thanks!

SDB40
7 - Meteor

@matthewlbass14 wrote:

I've worked past my previous post. I'm not receiving a different error in the micro (Tool# 106). See below.

matthewlbass14_0-1653324631433.pngmatthewlbass14_1-1653324666724.png

I don't see anything wrong with it. I appreciate any assistance you can provide. 

 

Thanks!



I believe the invalid operator on that tool means the data type is incorrect.  the "<" operator requires both columns of data to be of same type.

 

If you look at the data going into the formula tool, can you confirm that "[Start_with}" and "[total]" exist and are the same data type?

 

I believe the "<" operator may also only work with certain data types and you may want to confirm you have a compatible data type.

SDB40
7 - Meteor

@matthewlbass14 wrote:

I'm trying to configure the input file. However, I keep receiving the below error when I run the macro. 

 

matthewlbass14_0-1653319260738.png

My site is "https://[mycompany].atlassian.net/". Should it be something different? 



It looks like you have not properly updated the input file and replaced the example text with your actual server address.  It's reading in the sample input and trying to configure the description text as the URL.

SDB40
7 - Meteor

@husschea wrote:

Hello,

 

I am currently getting the error:

Error: Jira Iterative Macro Connector (4): Iteration #1: Tool #11: No valid fields were selected.

 

The Jira Macro Connector does not have any fields or anything at all in its Configuration, so I am unsure where i need to select fields. I have included a screenshot of how I have it set up at the moment.

 

husschea_0-1652969064307.png

 

How can i fix this?



the input file is the configuration to the tool.  You need to update the data in the sample input file to actually use this to pull data from your jira instance.  It will not automatically configure itself.

matthewlbass14
5 - Atom

Thank you! I've worked through all the errors and it is now running without errors. However, I'm not getting all of the results. It's still limiting to 100 when there are 625 to pull back. It doesn't seem to be iterating. 

SDB40
7 - Meteor

@matthewlbass14 wrote:

Thank you! I've worked through all the errors and it is now running without errors. However, I'm not getting all of the results. It's still limiting to 100 when there are 625 to pull back. It doesn't seem to be iterating. 


Did you try setting the limit in the configuration file to 1000 (or greater)?

matthewlbass14
5 - Atom

I did. I updated the 'max' column to 100000.

AndrewL
Alteryx
Alteryx

@matthewlbass14 @SDB40 

 

I had the same problem despite having increased the "max" column. I finally got it to work by changing a setting . Try going to the Runtime tab in the Workflow Configuration (in the workflow you're using the macro in, not the macro itself) and check to see if "Use AMP Engine" is checked. If so, checking the box for "Engine compatibility mode" should allow the macro to iterate. I believe it has something to do with the way the AMP engine groups/sorts the packets of data but I'm not totally certain.