Open Context Protocol is live! 🚀 Read the launch post
issuesListMilestones

issuesListMilestones

List milestones

Details

  • Method: GET
  • Path: /repos/{owner}/{repo}/milestones
  • Operation ID: issues/list-milestones

Parameters

{
  "owner": {
    "description": "The account owner of the repository. The name is not case sensitive.",
    "required": true,
    "location": "path",
    "type": "string"
  },
  "repo": {
    "description": "The name of the repository without the `.git` extension. The name is not case sensitive.",
    "required": true,
    "location": "path",
    "type": "string"
  },
  "state": {
    "description": "The state of the milestone. Either `open`, `closed`, or `all`.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "open",
      "closed",
      "all"
    ]
  },
  "sort": {
    "description": "What to sort results by. Either `due_on` or `completeness`.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "due_on",
      "completeness"
    ]
  },
  "direction": {
    "description": "The direction of the sort. Either `asc` or `desc`.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "asc",
      "desc"
    ]
  },
  "per_page": {
    "description": "The number of results per page (max 100). For more information, see \"[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api).\"",
    "required": false,
    "location": "query",
    "type": "integer"
  },
  "page": {
    "description": "The page number of the results to fetch. For more information, see \"[Using pagination in the REST API](https://docs.github.com/rest/using-the-rest-api/using-pagination-in-the-rest-api).\"",
    "required": false,
    "location": "query",
    "type": "integer"
  }
}

Response Schema

{
  "type": "array",
  "items": {
    "title": "Milestone",
    "description": "A collection of related issues and pull requests.",
    "type": "object",
    "properties": {
      "url": {
        "type": "string",
        "format": "uri",
        "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1"
      },
      "html_url": {
        "type": "string",
        "format": "uri",
        "example": "https://github.com/octocat/Hello-World/milestones/v1.0"
      },
      "labels_url": {
        "type": "string",
        "format": "uri",
        "example": "https://api.github.com/repos/octocat/Hello-World/milestones/1/labels"
      },
      "id": {
        "type": "integer",
        "example": 1002604
      },
      "node_id": {
        "type": "string",
        "example": "MDk6TWlsZXN0b25lMTAwMjYwNA=="
      },
      "number": {
        "description": "The number of the milestone.",
        "type": "integer",
        "example": 42
      },
      "state": {
        "description": "The state of the milestone.",
        "example": "open",
        "type": "string",
        "enum": [
          "open",
          "closed"
        ],
        "default": "open"
      },
      "title": {
        "description": "The title of the milestone.",
        "example": "v1.0",
        "type": "string"
      },
      "description": {
        "type": "string",
        "example": "Tracking milestone for version 1.0",
        "nullable": true
      },
      "creator": {
        "title": "Simple User",
        "description": "A GitHub user.",
        "type": "object",
        "properties": {
          "name": {
            "nullable": true,
            "type": "string"
          },
          "email": {
            "nullable": true,
            "type": "string"
          },
          "login": {
            "type": "string",
            "example": "octocat"
          },
          "id": {
            "type": "integer",
            "format": "int64",
            "example": 1
          },
          "node_id": {
            "type": "string",
            "example": "MDQ6VXNlcjE="
          },
          "avatar_url": {
            "type": "string",
            "format": "uri",
            "example": "https://github.com/images/error/octocat_happy.gif"
          },
          "gravatar_id": {
            "type": "string",
            "example": "41d064eb2195891e12d0413f63227ea7",
            "nullable": true
          },
          "url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.github.com/users/octocat"
          },
          "html_url": {
            "type": "string",
            "format": "uri",
            "example": "https://github.com/octocat"
          },
          "followers_url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.github.com/users/octocat/followers"
          },
          "following_url": {
            "type": "string",
            "example": "https://api.github.com/users/octocat/following{/other_user}"
          },
          "gists_url": {
            "type": "string",
            "example": "https://api.github.com/users/octocat/gists{/gist_id}"
          },
          "starred_url": {
            "type": "string",
            "example": "https://api.github.com/users/octocat/starred{/owner}{/repo}"
          },
          "subscriptions_url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.github.com/users/octocat/subscriptions"
          },
          "organizations_url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.github.com/users/octocat/orgs"
          },
          "repos_url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.github.com/users/octocat/repos"
          },
          "events_url": {
            "type": "string",
            "example": "https://api.github.com/users/octocat/events{/privacy}"
          },
          "received_events_url": {
            "type": "string",
            "format": "uri",
            "example": "https://api.github.com/users/octocat/received_events"
          },
          "type": {
            "type": "string",
            "example": "User"
          },
          "site_admin": {
            "type": "boolean"
          },
          "starred_at": {
            "type": "string",
            "example": "\"2020-07-09T00:17:55Z\""
          },
          "user_view_type": {
            "type": "string",
            "example": "public"
          }
        },
        "required": [
          "avatar_url",
          "events_url",
          "followers_url",
          "following_url",
          "gists_url",
          "gravatar_id",
          "html_url",
          "id",
          "node_id",
          "login",
          "organizations_url",
          "received_events_url",
          "repos_url",
          "site_admin",
          "starred_url",
          "subscriptions_url",
          "type",
          "url"
        ],
        "nullable": true
      },
      "open_issues": {
        "type": "integer",
        "example": 4
      },
      "closed_issues": {
        "type": "integer",
        "example": 8
      },
      "created_at": {
        "type": "string",
        "format": "date-time",
        "example": "2011-04-10T20:09:31Z"
      },
      "updated_at": {
        "type": "string",
        "format": "date-time",
        "example": "2014-03-03T18:58:10Z"
      },
      "closed_at": {
        "type": "string",
        "format": "date-time",
        "example": "2013-02-12T13:22:01Z",
        "nullable": true
      },
      "due_on": {
        "type": "string",
        "format": "date-time",
        "example": "2012-10-09T23:39:01Z",
        "nullable": true
      }
    },
    "required": [
      "closed_issues",
      "creator",
      "description",
      "due_on",
      "closed_at",
      "id",
      "node_id",
      "labels_url",
      "html_url",
      "number",
      "open_issues",
      "state",
      "title",
      "url",
      "created_at",
      "updated_at"
    ]
  }
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('github')

# Call this tool
result = await agent.call_tool('issuesListMilestones', {
    # Add required parameters here
})