We recommend switching to the latest versions of Edge, Firefox, Chrome or Safari. Using Internet Explorer will result in a loss of website functionality.

Compare Pipelines in different environments

Comments

3 comments

  • Avatar
    Gerard Cafaro

    The easiest way to extract this data would be via the API console with the following queries. The first query below pulls all environments, pipelines, paths and stages. The second query pulls a specific environment's pipelines, paths and stages.

    The outputs of these queries will give a cleaner view to the stage types and names for comparison outside the product. 

    All environments, pipelines, paths and stages

    query {
    envs {
    edges {
    node {
    name
    pipelines {
    edges {
    node {
    name
    paths {
    name
    stages {
    edges {
    node {
    stageType
    name
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }

    A single environments, pipelines, paths and stages

    Note that the environment name will need to be manually updated:

    query {
    pipelines(envNameOrId: "YOUR_ENV_NAME") {
    edges {
    node {
    name
    paths {
    name
    stages {
    edges {
    node {
    stageType
    name
    }
    }
    }
    }
    }
    }
    }
    }
    0
    Comment actions Permalink
  • Avatar
    Cathy Kelley

    Thanks for the quick reply.  But this doesn't give me what I'm looking for.  I want a way to highlight the difference between two versions of the same solution.  

    0
    Comment actions Permalink
  • Avatar
    Gerard Cafaro

    It doesn't give differences directly, but running it twice (once per environment) provides the ability to compare the differences in output. It's easier for external tools to compare the output of the API call than the contents of an unzipped export.

    The examples in my last note only give the high-level definitions, such as differences in the arrangement or names of pipelines, paths and stages, such as "Item X" wasn't promoted to a higher environment yet. Are you looking to also compare the stage definitions too, such as nodes within an Analysis, fields within Data Store, etc.? If so, that's also possible by adding one more "definition" field to the API call, such as the examples below:

    All environments, pipelines, paths and stages

    query {
    envs {
    edges {
    node {
    name
    pipelines {
    edges {
    node {
    name
    paths {
    name
    stages {
    edges {
    node {
    stageType
    name
    definition {
    def
    displayName
    envId
    lastUpdateTimestamp
    latestVersion
    stageId
    stageType
    tenantId
    uid
    version
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }

    A single environments, pipelines, paths and stages

    Note that the environment name will need to be manually updated:

    query {
    pipelines(envNameOrId: "YOUR_ENV_NAME") {
    edges {
    node {
    name
    paths {
    name
    stages {
    edges {
    node {
    stageType
    name
    definition {
    def
    displayName
    envId
    lastUpdateTimestamp
    latestVersion
    stageId
    stageType
    tenantId
    uid
    version
    }
    }
    }
    }
    }
    }
    }
    }
    }

     

    0
    Comment actions Permalink

Please sign in to leave a comment.