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

reposListActivities

List repository activities

Details

  • Method: GET
  • Path: /repos/{owner}/{repo}/activity
  • Operation ID: repos/list-activities

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"
  },
  "direction": {
    "description": "The direction to sort the results by.",
    "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"
  },
  "before": {
    "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results before this cursor. 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": "string"
  },
  "after": {
    "description": "A cursor, as given in the [Link header](https://docs.github.com/rest/guides/using-pagination-in-the-rest-api#using-link-headers). If specified, the query only searches for results after this cursor. 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": "string"
  },
  "ref": {
    "description": "The Git reference for the activities you want to list.\n\nThe `ref` for a branch can be formatted either as `refs/heads/BRANCH_NAME` or `BRANCH_NAME`, where `BRANCH_NAME` is the name of your branch.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "actor": {
    "description": "The GitHub username to use to filter by the actor who performed the activity.",
    "required": false,
    "location": "query",
    "type": "string"
  },
  "time_period": {
    "description": "The time period to filter by.\n\nFor example, `day` will filter for activity that occurred in the past 24 hours, and `week` will filter for activity that occurred in the past 7 days (168 hours).",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "day",
      "week",
      "month",
      "quarter",
      "year"
    ]
  },
  "activity_type": {
    "description": "The activity type to filter by.\n\nFor example, you can choose to filter by \"force_push\", to see all force pushes to the repository.",
    "required": false,
    "location": "query",
    "type": "string",
    "enum": [
      "push",
      "force_push",
      "branch_creation",
      "branch_deletion",
      "pr_merge",
      "merge_queue_merge"
    ]
  }
}

Response Schema

{
  "type": "array",
  "items": {
    "title": "Activity",
    "description": "Activity",
    "type": "object",
    "properties": {
      "id": {
        "type": "integer",
        "example": 1296269
      },
      "node_id": {
        "type": "string",
        "example": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5"
      },
      "before": {
        "type": "string",
        "example": "6dcb09b5b57875f334f61aebed695e2e4193db5e",
        "description": "The SHA of the commit before the activity."
      },
      "after": {
        "type": "string",
        "example": "827efc6d56897b048c772eb4087f854f46256132",
        "description": "The SHA of the commit after the activity."
      },
      "ref": {
        "type": "string",
        "example": "refs/heads/main",
        "description": "The full Git reference, formatted as `refs/heads/<branch name>`."
      },
      "timestamp": {
        "type": "string",
        "format": "date-time",
        "example": "2011-01-26T19:06:43Z",
        "description": "The time when the activity occurred."
      },
      "activity_type": {
        "type": "string",
        "example": "force_push",
        "enum": [
          "push",
          "force_push",
          "branch_deletion",
          "branch_creation",
          "pr_merge",
          "merge_queue_merge"
        ],
        "description": "The type of the activity that was performed."
      },
      "actor": {
        "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
      }
    },
    "required": [
      "id",
      "node_id",
      "before",
      "after",
      "ref",
      "timestamp",
      "activity_type",
      "actor"
    ]
  }
}

Usage

from ocp_agent import OCPAgent

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

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