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

actionsGetPendingDeploymentsForRun

Get pending deployments for a workflow run

Details

  • Method: GET
  • Path: /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments
  • Operation ID: actions/get-pending-deployments-for-run

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"
  },
  "run_id": {
    "description": "The unique identifier of the workflow run.",
    "required": true,
    "location": "path",
    "type": "integer"
  }
}

Response Schema

{
  "type": "array",
  "items": {
    "title": "Pending Deployment",
    "description": "Details of a deployment that is waiting for protection rules to pass",
    "type": "object",
    "properties": {
      "environment": {
        "type": "object",
        "properties": {
          "id": {
            "description": "The id of the environment.",
            "type": "integer",
            "format": "int64",
            "example": 56780428
          },
          "node_id": {
            "type": "string",
            "example": "MDExOkVudmlyb25tZW50NTY3ODA0Mjg="
          },
          "name": {
            "description": "The name of the environment.",
            "example": "staging",
            "type": "string"
          },
          "url": {
            "type": "string",
            "example": "https://api.github.com/repos/github/hello-world/environments/staging"
          },
          "html_url": {
            "type": "string",
            "example": "https://github.com/github/hello-world/deployments/activity_log?environments_filter=staging"
          }
        }
      },
      "wait_timer": {
        "type": "integer",
        "description": "The set duration of the wait timer",
        "example": 30
      },
      "wait_timer_started_at": {
        "description": "The time that the wait timer began.",
        "example": "2020-11-23T22:00:40Z",
        "format": "date-time",
        "type": "string",
        "nullable": true
      },
      "current_user_can_approve": {
        "description": "Whether the currently authenticated user can approve the deployment",
        "type": "boolean",
        "example": true
      },
      "reviewers": {
        "type": "array",
        "description": "The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed.",
        "items": {
          "type": "object",
          "properties": {
            "type": {
              "type": "string",
              "description": "The type of reviewer.",
              "enum": [
                "User",
                "Team"
              ],
              "example": "User"
            },
            "reviewer": {
              "anyOf": [
                {
                  "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"
                  ]
                },
                {
                  "title": "Team",
                  "description": "Groups of organization members that gives permissions on specified repositories.",
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "node_id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "slug": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string",
                      "nullable": true
                    },
                    "privacy": {
                      "type": "string"
                    },
                    "notification_setting": {
                      "type": "string"
                    },
                    "permission": {
                      "type": "string"
                    },
                    "permissions": {
                      "type": "object",
                      "properties": {
                        "pull": {
                          "type": "boolean"
                        },
                        "triage": {
                          "type": "boolean"
                        },
                        "push": {
                          "type": "boolean"
                        },
                        "maintain": {
                          "type": "boolean"
                        },
                        "admin": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "pull",
                        "triage",
                        "push",
                        "maintain",
                        "admin"
                      ]
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "html_url": {
                      "type": "string",
                      "format": "uri",
                      "example": "https://github.com/orgs/rails/teams/core"
                    },
                    "members_url": {
                      "type": "string"
                    },
                    "repositories_url": {
                      "type": "string",
                      "format": "uri"
                    },
                    "type": {
                      "description": "The ownership type of the team",
                      "type": "string",
                      "enum": [
                        "enterprise",
                        "organization"
                      ]
                    },
                    "organization_id": {
                      "type": "integer",
                      "description": "Unique identifier of the organization to which this team belongs",
                      "example": 37
                    },
                    "enterprise_id": {
                      "type": "integer",
                      "description": "Unique identifier of the enterprise to which this team belongs",
                      "example": 42
                    },
                    "parent": {
                      "title": "Team Simple",
                      "description": "Groups of organization members that gives permissions on specified repositories.",
                      "type": "object",
                      "properties": {
                        "id": {
                          "description": "Unique identifier of the team",
                          "type": "integer",
                          "example": 1
                        },
                        "node_id": {
                          "type": "string",
                          "example": "MDQ6VGVhbTE="
                        },
                        "url": {
                          "description": "URL for the team",
                          "type": "string",
                          "format": "uri",
                          "example": "https://api.github.com/organizations/1/team/1"
                        },
                        "members_url": {
                          "type": "string",
                          "example": "https://api.github.com/organizations/1/team/1/members{/member}"
                        },
                        "name": {
                          "description": "Name of the team",
                          "type": "string",
                          "example": "Justice League"
                        },
                        "description": {
                          "description": "Description of the team",
                          "type": "string",
                          "nullable": true,
                          "example": "A great team."
                        },
                        "permission": {
                          "description": "Permission that the team will have for its repositories",
                          "type": "string",
                          "example": "admin"
                        },
                        "privacy": {
                          "description": "The level of privacy this team should have",
                          "type": "string",
                          "example": "closed"
                        },
                        "notification_setting": {
                          "description": "The notification setting the team has set",
                          "type": "string",
                          "example": "notifications_enabled"
                        },
                        "html_url": {
                          "type": "string",
                          "format": "uri",
                          "example": "https://github.com/orgs/rails/teams/core"
                        },
                        "repositories_url": {
                          "type": "string",
                          "format": "uri",
                          "example": "https://api.github.com/organizations/1/team/1/repos"
                        },
                        "slug": {
                          "type": "string",
                          "example": "justice-league"
                        },
                        "ldap_dn": {
                          "description": "Distinguished Name (DN) that team maps to within LDAP environment",
                          "example": "uid=example,ou=users,dc=github,dc=com",
                          "type": "string"
                        },
                        "type": {
                          "description": "The ownership type of the team",
                          "type": "string",
                          "enum": [
                            "enterprise",
                            "organization"
                          ]
                        },
                        "organization_id": {
                          "type": "integer",
                          "description": "Unique identifier of the organization to which this team belongs",
                          "example": 37
                        },
                        "enterprise_id": {
                          "type": "integer",
                          "description": "Unique identifier of the enterprise to which this team belongs",
                          "example": 42
                        }
                      },
                      "required": [
                        "id",
                        "node_id",
                        "url",
                        "members_url",
                        "name",
                        "description",
                        "permission",
                        "html_url",
                        "repositories_url",
                        "slug",
                        "type"
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "node_id",
                    "url",
                    "members_url",
                    "name",
                    "description",
                    "permission",
                    "html_url",
                    "repositories_url",
                    "slug",
                    "parent",
                    "type"
                  ]
                }
              ]
            }
          }
        }
      }
    },
    "required": [
      "environment",
      "wait_timer",
      "wait_timer_started_at",
      "current_user_can_approve",
      "reviewers"
    ]
  }
}

Usage

from ocp_agent import OCPAgent

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

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