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.

Automated Workflow/App Deployment to Server

chrisha
11 - Bolide

Hi everyone,

 

we are currently migrating our workflows from our network fileserver to Git repositories for better version control and collaboration on different workflows.

 

Many of our workflows get uploaded into our company Alteryx Gallery. As there is an API for the gallery, I was wondering if anyone already has implemented some kind of automated build-and-deployment-pipeline. Something similar to yarn or gulp. My goal would be to automatically get the latest build from our Git repository and upload workflows to the server.

 

Anyone working on or with something like this?

 

Best

Christopher

 

14 REPLIES 14
tlarsen7572
11 - Bolide
11 - Bolide

@SeanN, thanks for the information.  At some point I will see if I can get the auth header working so the URL doesn't contain all of the security information.

 

@chrisha, I finally have a very early prototype of the tool working.  The source code is on GitHub if you want to take a look, or you can install a copy with the attached YXI.  I am getting some sort of invalid username and password error on my gallery when I try to run workflows, but that may be a config issue on my gallery...still investigating.

 

The process I am looking at will be something like this:

  1. Push changes to our BitBucket development branch
  2. Bamboo runs some automated tests on our workflows.  If they all pass, the changes can be merged to master
  3. Merge changes to master
  4. Bamboo tasks copy the repository to various places and run one or more workflows that publish our top-level workflows to the gallery using the custom tool.
chrisha
11 - Bolide

Hi @tlarsen7572 ,

 

thanks for sharing your solution! It took me a while to come back to this, but as we are automating more and more, it is time to find a solution for this.

Since I was more interested in a non-Alteryx solution (e.g. Python) to handle the actual upload, I might take the Python scripts you provided and write some CLI wrapper around it. When I find the time to actually finish this, I'll post it to GitHub as well for others to use.

 

As far as I understand, though, we can currently simply upload a workflow, right? I.e. I cannot replace an existing workflow or add the uploaded workflow as a new version?

Edit: Nevermind, I just found out about the sourceId parameter, which can be used to replace workflows.

 

 

Btw, I just saw in the above linked post that there are also some tools by interworks for the migration of workflows: https://interworks.com/blog/mtreadwell/2019/06/12/the-migratory-patterns-of-the-common-alteryx-workf...

 

Best

Christopher

 

tmschbgr2
5 - Atom

Hi @tlarsen7572 and @chrisha,

 

Have you guys cracked this in the meantime? Would be great to hear as I think many others are trying to find a solution for this. We are having our workflows in git repos and looking for a way to deploy them to different environments using DevOps.

 

Let me know if you have anything worth sharing, would be much appreciated.

 

Cheers Tim

tlarsen7572
11 - Bolide
11 - Bolide

Hi @tmschbgr2, I do not have anything new since my last post.  This is still on my to-do list, but at the moment it's a low priority.  There are a few other pieces I need to figure out and implement before it makes sense to spend time getting the CI/CD process rolling.

CiaranA
10 - Fireball

@chrisha @tlarsen7572 @SeanN We are trying to test using the Interworks Migration tools but they use an R library called "alterryx"

 

https://interworks.com/blog/mtreadwell/2019/06/12/the-migratory-patterns-of-the-common-alteryx-workf...

 

Unfortunately when trying to install this on our Server we get the following:

 

Does anyone have a workaround or understanding of how and when this package will be available in R 3.6.3 which is the version deployed with the latest Alteryx 2020.2