Gitea · Arazzo Workflow

Gitea Create Milestone With Tracked Issue

Version 1.0.0

Create a milestone and open an issue assigned to that milestone.

1 workflow 1 source API 1 provider
View Spec View on GitHub GitSource ControlDevOpsCI/CDCode HostingOpen SourceSelf HostedPackage RegistryIssue TrackingPull RequestsArazzoWorkflows

Provider

gitea

Workflows

milestone-with-issue
Create a milestone and open an issue assigned to it.
Creates a repository milestone, then opens an issue attached to the new milestone by id.
2 steps inputs: authToken, dueOn, issueBody, issueTitle, milestoneDescription, milestoneTitle, owner, repo outputs: issueNumber, issueUrl, milestoneId
1
createMilestone
issueCreateMilestone
Create a milestone in the repository.
2
createIssue
issueCreateIssue
Open an issue attached to the new milestone.

Source API Descriptions

Arazzo Workflow Specification

gitea-milestone-with-issue-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Gitea Create Milestone With Tracked Issue
  summary: Create a milestone and open an issue assigned to that milestone.
  description: >-
    Organizes planned work on Gitea. The workflow creates a milestone in a
    repository and then opens an issue that is attached to that milestone so the
    issue rolls up under the milestone's progress. Each 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: giteaApi
  url: ../openapi/gitea-rest-api-openapi.yml
  type: openapi
workflows:
- workflowId: milestone-with-issue
  summary: Create a milestone and open an issue assigned to it.
  description: >-
    Creates a repository milestone, then opens an issue attached to the new
    milestone by id.
  inputs:
    type: object
    required:
    - authToken
    - owner
    - repo
    - milestoneTitle
    - issueTitle
    properties:
      authToken:
        type: string
        description: Authorization header value, e.g. "token <personal-access-token>".
      owner:
        type: string
        description: Owner of the repository.
      repo:
        type: string
        description: Name of the repository.
      milestoneTitle:
        type: string
        description: Title of the milestone to create.
      milestoneDescription:
        type: string
        description: Description of the milestone.
      dueOn:
        type: string
        description: Optional milestone due date in RFC3339 date-time format.
      issueTitle:
        type: string
        description: Title of the issue to open under the milestone.
      issueBody:
        type: string
        description: Body text for the issue.
  steps:
  - stepId: createMilestone
    description: Create a milestone in the repository.
    operationId: issueCreateMilestone
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authToken
    - 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
        state: open
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      milestoneId: $response.body#/id
      milestoneTitle: $response.body#/title
  - stepId: createIssue
    description: Open an issue attached to the new milestone.
    operationId: issueCreateIssue
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authToken
    - 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.milestoneId
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      issueNumber: $response.body#/number
      issueUrl: $response.body#/html_url
  outputs:
    milestoneId: $steps.createMilestone.outputs.milestoneId
    issueNumber: $steps.createIssue.outputs.issueNumber
    issueUrl: $steps.createIssue.outputs.issueUrl