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
x-realizes-capability-ids:
- BC-4200.40
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-4200.40
capability_name: Software Construction Management
spec: github-repos-api-openapi.yml
confidence: 0.75
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: reposApi
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: repos/list-commits
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: repos/get-commit
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
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.