Skip to main content

Will collect process time for projects that are hosted in Azure DevOps

Project description

Publish PyPI

PR Checks:

Build Status PR

Process Time - the time from a line change in the code to the deployment of the artefact created by this change to the production environment.

Full Documentation: https://github.com/data-driven-value-stream/.github/wiki/Process-Time

Tutorial

Here is an example https://worldpwn.visualstudio.com/process-time/_build?definitionId=4

Azure Devops repository Access

To access repository in Azure DevOps with pipline access token you need either run pipeline.yml file from the repository itself or reference needed repository in reosource.

resources:
  repositories:
    - repository: process-time
      type: git
      name: process-time
      ref: main

steps:
- checkout: process-time
- checkout: self
- script: |
    # do something
  displayName: 'Can access both repositories'
  env:
    System.AccessToken: $(System.AccessToken)

Example Trunk Based Development

resources:
  repositories:
    - repository: process-time
      type: git
      name: process-time
      ref: main

steps:
- checkout: process-time
- checkout: self
- script: |
    # Set Variables
    orgname="Azure DevOps Organization Name"
    echo "orgname=$orgname"
    token=$(System.AccessToken)
    project="Azure DevOps Project Name"
    echo "project=$project"
    pipeline_id=1
    echo "pipeline_id=$pipeline_id"
    current_run_id=23
    echo "current_run_id=$pipeline_id"
    
    # Install Dependencies    
    python -m pip install --upgrade pip
    pip install process-time-azure-devops==0.1.0
    pip install azure-devops=7.1.0b4
    
    # Run Process Time Package
    python src/process_time_azure_devops/__main__.py --org "$orgname" --token "$token" --project "$project" --pipeline-id "$pipeline_id" --current-run-id $current_run_id 
  displayName: 'Can access both repositories'
  env:
    System.AccessToken: $(System.AccessToken)

# To publish result use run id in file name
- publish: $(System.DefaultWorkingDirectory)/process-time-azure-devops/process_time_result_23.json
  artifact: process_time_result_23

Example Git-Flow

resources:
  repositories:
    - repository: process-time
      type: git
      name: process-time
      ref: main

steps:
- checkout: process-time
- checkout: self
- script: |
    # Set Variables
    orgname="Azure DevOps Organization Name"
    echo "orgname=$orgname"
    token=$(System.AccessToken)
    project="Azure DevOps Project Name"
    echo "project=$project"
    pipeline_id=1
    echo "pipeline_id=$pipeline_id"
    current_run_id=23
    echo "current_run_id=$pipeline_id"
    
    # Install Dependencies    
    python -m pip install --upgrade pip
    pip install process-time-azure-devops==0.1.0
    pip install azure-devops=7.1.0b4
    
    # Run Process Time Package
    # Add argument for development and production branch names without 'refs/heads/'
    python src/process_time_azure_devops/__main__.py --org "$orgname" --token "$token" --project "$project" --pipeline-id "$pipeline_id" --current-run-id $current_run_id --production-branch-name "production" --development-branch-name "development" 
  displayName: 'Can access both repositories'
  env:
    System.AccessToken: $(System.AccessToken)

# To publish result use run id in file name
- publish: $(System.DefaultWorkingDirectory)/process-time-azure-devops/process_time_result_23.json
  artifact: process_time_result_23

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

process_time_azure_devops-0.1.0.tar.gz (14.9 kB view hashes)

Uploaded Source

Built Distribution

process_time_azure_devops-0.1.0-py3-none-any.whl (16.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page