Get package content

Certified Lead Developer

Hi,

A situation that arise frequently is that there are several issues open, and two or more of them include same interface, rule or any other kind of appian object. Deveoppers assigned to each issue made necessary changes and usually they coordinate themselves without problem, but in ocassions we deploy untested or unwanted changes to upper environments by mistake.

So, I am thinking on a application that help us on get a better control on deployments. This application act as a ongoing package inventory, and should be able to compare contents of each packages in order to warn about objects that were part of mor than one package.

To do so, I need a way to programmatically get the content of a package.

Does anybody know a way to achieve this?

Regards

  Discussion posts and replies are publicly visible

Parents
  • Hi ,

    Assuming that your idea it is possible (which unfortunately is not at this moment, there's not native way to retrieve package contents programmatically) probably you will encounter problems comparing packages, mainly because you could have the same object in different package throughout the history (if you dont delete them). A date filter it helps likely; however, could be not accurate enough. I propose you consider these options:

    Option 1 - App Read File Fuctions
    Detail: Create an application that allows upload the packages exported files (patches, or content / processModel folder) and can read it using fuctions like xpathdocument()readtextfromfile(). Then, you can compare it and decide about it.
    Pros: You can compare between several packages + Easy to build + You can leverage design-guidance.json file to expand the recommendations/info that you show to the developers.
    Cons: Manually upload the package.

    Option 2 - Design and Integrate a Jenkins pipeline
    DetailDesign a DevOps model (using Jenkins for example) where you can use the steps to evalute conditions. In your case, evaluate if the objetcs you are upgrading are already deployed.
    Pros: More flexible and strong DevOps pipeline.
    Cons: External technology + no basic implementation

    Option 3 - Enable Government DepOps
    DetailGo to Admin Console / DevOps / Infrastructure and enable requiere review (create a group DevOps first).
    Pros: Easiest implementation + User Notification
    Cons: You have to compare manually the packages. 

    Hope it helps,

    Rómulo

Reply
  • Hi ,

    Assuming that your idea it is possible (which unfortunately is not at this moment, there's not native way to retrieve package contents programmatically) probably you will encounter problems comparing packages, mainly because you could have the same object in different package throughout the history (if you dont delete them). A date filter it helps likely; however, could be not accurate enough. I propose you consider these options:

    Option 1 - App Read File Fuctions
    Detail: Create an application that allows upload the packages exported files (patches, or content / processModel folder) and can read it using fuctions like xpathdocument()readtextfromfile(). Then, you can compare it and decide about it.
    Pros: You can compare between several packages + Easy to build + You can leverage design-guidance.json file to expand the recommendations/info that you show to the developers.
    Cons: Manually upload the package.

    Option 2 - Design and Integrate a Jenkins pipeline
    DetailDesign a DevOps model (using Jenkins for example) where you can use the steps to evalute conditions. In your case, evaluate if the objetcs you are upgrading are already deployed.
    Pros: More flexible and strong DevOps pipeline.
    Cons: External technology + no basic implementation

    Option 3 - Enable Government DepOps
    DetailGo to Admin Console / DevOps / Infrastructure and enable requiere review (create a group DevOps first).
    Pros: Easiest implementation + User Notification
    Cons: You have to compare manually the packages. 

    Hope it helps,

    Rómulo

Children
No Data