GitHub · Arazzo Workflow

GitHub Create a Milestone and Assign an Issue to It

Version 1.0.0

Create a milestone, then open an issue assigned to that milestone.

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

Provider

github

Workflows

create-milestone-and-issue
Create a milestone then open an issue assigned to it.
Creates a milestone and chains its returned number into the milestone field of a new issue.
2 steps inputs: dueOn, githubToken, issueBody, issueTitle, milestoneDescription, milestoneTitle, owner, repo outputs: issueNumber, issueUrl, milestoneNumber
1
createMilestone
Create the milestone in the repository.
2
openIssue
Open an issue assigned to the milestone using the milestone number returned by the create step.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: GitHub Create a Milestone and Assign an Issue to It
  summary: Create a milestone, then open an issue assigned to that milestone.
  description: >-
    A planning pattern that groups work under a deliverable. The workflow
    creates a milestone in the repository and then opens an issue assigned to
    that milestone using the milestone number returned by the create step. 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: issuesApi
  url: ../openapi/github-issues-api-openapi.yml
  type: openapi
workflows:
- workflowId: create-milestone-and-issue
  summary: Create a milestone then open an issue assigned to it.
  description: >-
    Creates a milestone and chains its returned number into the milestone field
    of a new issue.
  inputs:
    type: object
    required:
    - githubToken
    - owner
    - repo
    - milestoneTitle
    - issueTitle
    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.
      milestoneTitle:
        type: string
        description: The title of the milestone to create.
      milestoneDescription:
        type: string
        description: A description of the milestone.
      dueOn:
        type: string
        description: The milestone due date as an ISO 8601 timestamp.
      issueTitle:
        type: string
        description: The title of the issue to open under the milestone.
      issueBody:
        type: string
        description: The body of the issue to open.
  steps:
  - stepId: createMilestone
    description: Create the milestone in the repository.
    operationId: issues/create-milestone
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.githubToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.milestoneTitle
        description: $inputs.milestoneDescription
        due_on: $inputs.dueOn
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      milestoneNumber: $response.body#/number
      milestoneUrl: $response.body#/html_url
  - stepId: openIssue
    description: >-
      Open an issue assigned to the milestone using the milestone number
      returned by the create step.
    operationId: issues/create
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.githubToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.issueTitle
        body: $inputs.issueBody
        milestone: $steps.createMilestone.outputs.milestoneNumber
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      issueNumber: $response.body#/number
      issueUrl: $response.body#/html_url
  outputs:
    milestoneNumber: $steps.createMilestone.outputs.milestoneNumber
    issueNumber: $steps.openIssue.outputs.issueNumber
    issueUrl: $steps.openIssue.outputs.issueUrl

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/github-create-milestone-and-issue-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

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.

A second provider on the same verified email joins the account you already have.