Slide 1

Slide 1 text

Automating Azure DevOps Chris Ayers

Slide 2

Slide 2 text

Chris Ayers Azure / Devops Consultant • [email protected] • Twitter: @Chris_L_Ayers • linkedin.com/in/chris-l-ayers/ • Blog: https://chrislayers.com/ • Github: https://github.com/Codebytes

Slide 3

Slide 3 text

Agenda Azure DevOps • Features • Boards • Repos • Pipelines • Artifacts • Test Plans What Can We Do? • Automate • Integrate How Can We Interact? • Rest API • Azure CLI

Slide 4

Slide 4 text

What is DevOps?

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

DevOps is… DevOps is the union of people, process, and products to enable continuous delivery of value to your end users. “ ”

Slide 7

Slide 7 text

What is Azure DevOps?

Slide 8

Slide 8 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Deliver with Azure DevOps

Slide 9

Slide 9 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Connecting ideas to releases Scrum ready to help your teams run sprints, stand- ups, and plan work Integrated with GitHub commits and pull requests Insights into project status and health

Slide 10

Slide 10 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Deliver Private Git and TFVC repos for your teams Code review via branch pull requests Branch policies and build validation Easy migration path to / from GitHub

Slide 11

Slide 11 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Deliver Cloud-hosted pipelines for Linux, macOS and Windows Any language, any platform, any cloud Native support for containers and Kubernetes Best-in-class for open source

Slide 12

Slide 12 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Deliver Deploy to on-premises, ANY cloud or a hybrid of cloud and on-prem Staged environment releases Pre and post deployment approvals with gates to automate approval based on conditions

Slide 13

Slide 13 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Deliver Share code efficiently Keep your Maven, npm, NuGet and Python packages and more in the same place Aggregate from public registries and internal teams Publish and track from any pipeline

Slide 14

Slide 14 text

Azure Boards Azure Repos Azure Pipelines Azure Test Plans Azure Artifacts Deliver Run tests and log defects from your browser Track and assess quality throughout your lifecycle Capture rich data for reproducibility Create tests directly from exploratory sessions

Slide 15

Slide 15 text

What can we do? • Automate • Integrate

Slide 16

Slide 16 text

Automate • Team project creation • Repository creation • Branch policy creation • Builds • Releases • Reports

Slide 17

Slide 17 text

Integrate • Gates • Custom Applications • Custom Dashboards • External Reporting • Custom Workflows

Slide 18

Slide 18 text

How Can We Interact?

Slide 19

Slide 19 text

Examples GUI based client side application Headless text only client side application GUI based web application Azure DevOps Services extension

Slide 20

Slide 20 text

Authentication ADAL OAUTH DEVICE PROFILE PAT CLIENT LIBRARY

Slide 21

Slide 21 text

PAT

Slide 22

Slide 22 text

Let’s focus on REST

Slide 23

Slide 23 text

Documentation https://tinyurl.com/DevOpsRestApi https://docs.microsoft.com/en- us/azure/devops/dev-resources

Slide 24

Slide 24 text

Rest API VERSIONED JSON CORS RATE LIMITS

Slide 25

Slide 25 text

URI - VERB https://{instance}[/{team-project}]/_apis[/{area}]/{resource} ?api-version={version} Instance dev.azure.com/{organization} {server:8080)}/tfs/{DefaultCollection} Team-project Application Resource build/builds/{buildId} git/repositories/{repositoryId}/pullrequests Version 5.1 - Azure DevOps Server vNext 5.0 - Azure DevOps Server 2019 4.1 - TFS 2018 Update 3

Slide 26

Slide 26 text

Powershell

Slide 27

Slide 27 text

Let’s go to the code

Slide 28

Slide 28 text

What about our other options?

Slide 29

Slide 29 text

Azure DevOps Extension for Azure CLI

Slide 30

Slide 30 text

Azure DevOps Extension for Azure CLI WINDOWS, LINUX, MAC, DOCKER AZURE CLOUD SHELL JSON ACTIVELY DEVELOPED AUTODETECTION

Slide 31

Slide 31 text

Azure DevOps Extension for Azure CLI

Slide 32

Slide 32 text

Azure CLI

Slide 33

Slide 33 text

Questions?