GitHub · Arazzo Workflow

GitHub Inspect the Latest Commit on a Branch

Version 1.0.0

List a branch's commits, take the newest, then fetch that commit's full detail.

1 workflow 1 source API 1 provider
View Spec View on GitHub CodePipelinesPlatformSoftware DevelopmentSource ControlT1ArazzoWorkflows

Provider

github

Workflows

inspect-latest-commit
List commits on a branch then fetch the newest commit's detail.
Lists commits on a branch, captures the newest commit SHA, and retrieves the full commit detail for it.
2 steps inputs: branch, githubToken, owner, repo outputs: commitUrl, latestSha, message
1
listBranchCommits
listCommits
List the most recent commits on the branch, limited to one so the newest commit is returned first.
2
getCommitDetail
getCommit
Fetch the full detail of the newest commit using the SHA captured from the list step.

Source API Descriptions

Arazzo Workflow Specification

github-inspect-latest-commit-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: GitHub Inspect the Latest Commit on a Branch
  summary: List a branch's commits, take the newest, then fetch that commit's full detail.
  description: >-
    A repository auditing pattern. The workflow lists the most recent commits on
    a branch, captures the SHA of the newest commit, and then fetches the full
    detail for that commit including its stats and changed files. Every step
    spells out its request inline so the flow can be read and executed without
    opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: githubReposApi
  url: ../openapi/github-repos-api-openapi.yml
  type: openapi
workflows:
- workflowId: inspect-latest-commit
  summary: List commits on a branch then fetch the newest commit's detail.
  description: >-
    Lists commits on a branch, captures the newest commit SHA, and retrieves the
    full commit detail for it.
  inputs:
    type: object
    required:
    - githubToken
    - owner
    - repo
    - branch
    properties:
      githubToken:
        type: string
        description: A GitHub token with repo scope, passed as a Bearer credential.
      owner:
        type: string
        description: The account owner of the repository.
      repo:
        type: string
        description: The name of the repository.
      branch:
        type: string
        description: The branch (or SHA) to list commits from.
  steps:
  - stepId: listBranchCommits
    description: >-
      List the most recent commits on the branch, limited to one so the newest
      commit is returned first.
    operationId: listCommits
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.githubToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    - name: sha
      in: query
      value: $inputs.branch
    - name: per_page
      in: query
      value: 1
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      latestSha: $response.body#/0/sha
  - stepId: getCommitDetail
    description: >-
      Fetch the full detail of the newest commit using the SHA captured from the
      list step.
    operationId: getCommit
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.githubToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    - name: ref
      in: path
      value: $steps.listBranchCommits.outputs.latestSha
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      message: $response.body#/commit/message
      authorName: $response.body#/commit/author/name
      totalChanges: $response.body#/stats/total
      commitUrl: $response.body#/html_url
  outputs:
    latestSha: $steps.listBranchCommits.outputs.latestSha
    message: $steps.getCommitDetail.outputs.message
    commitUrl: $steps.getCommitDetail.outputs.commitUrl