Gitea · Arazzo Workflow

Gitea Comment And Close Issue

Version 1.0.0

Post a closing comment on an issue and then close it.

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

Provider

gitea

Workflows

comment-and-close-issue
Confirm an issue is open, comment on it, and close it.
Reads the issue to confirm it is open, posts a resolution comment, then edits the issue state to closed. If the issue is already closed the flow ends without changes.
3 steps inputs: authToken, commentBody, issueIndex, owner, repo outputs: commentId, finalState
1
getIssue
issueGetIssue
Read the issue to confirm its current state before closing it.
2
commentIssue
issueCreateComment
Post the closing comment that documents the resolution.
3
closeIssue
issueEditIssue
Transition the issue to the closed state.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Gitea Comment And Close Issue
  summary: Post a closing comment on an issue and then close it.
  description: >-
    Wraps up work on a Gitea issue. The workflow first confirms the issue is
    currently open, posts a closing comment that explains the resolution, and
    then transitions the issue to the closed state. 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: comment-and-close-issue
  summary: Confirm an issue is open, comment on it, and close it.
  description: >-
    Reads the issue to confirm it is open, posts a resolution comment, then
    edits the issue state to closed. If the issue is already closed the flow
    ends without changes.
  inputs:
    type: object
    required:
    - authToken
    - owner
    - repo
    - issueIndex
    - commentBody
    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.
      issueIndex:
        type: integer
        description: Index (number) of the issue to close.
      commentBody:
        type: string
        description: Closing comment text.
  steps:
  - stepId: getIssue
    description: Read the issue to confirm its current state before closing it.
    operationId: issueGetIssue
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    - name: index
      in: path
      value: $inputs.issueIndex
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      state: $response.body#/state
    onSuccess:
    - name: issueOpen
      type: goto
      stepId: commentIssue
      criteria:
      - context: $response.body
        condition: $.state == "open"
        type: jsonpath
    - name: issueAlreadyClosed
      type: end
      criteria:
      - context: $response.body
        condition: $.state == "closed"
        type: jsonpath
  - stepId: commentIssue
    description: Post the closing comment that documents the resolution.
    operationId: issueCreateComment
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    - name: index
      in: path
      value: $inputs.issueIndex
    requestBody:
      contentType: application/json
      payload:
        body: $inputs.commentBody
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      commentId: $response.body#/id
  - stepId: closeIssue
    description: Transition the issue to the closed state.
    operationId: issueEditIssue
    parameters:
    - name: Authorization
      in: header
      value: $inputs.authToken
    - name: owner
      in: path
      value: $inputs.owner
    - name: repo
      in: path
      value: $inputs.repo
    - name: index
      in: path
      value: $inputs.issueIndex
    requestBody:
      contentType: application/json
      payload:
        state: closed
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      finalState: $response.body#/state
  outputs:
    commentId: $steps.commentIssue.outputs.commentId
    finalState: $steps.closeIssue.outputs.finalState

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/gitea-comment-and-close-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 email required.

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