From 3d23e51d6cef818ba2b7870e6cbf2b1f0647c1b9 Mon Sep 17 00:00:00 2001 From: Abhay Goel Date: Fri, 19 Jun 2026 00:37:28 +0530 Subject: [PATCH 1/5] Upgrade: SDK-Migration --- .gitignore | 183 + .pre-commit-config.yaml | 8 +- .pylintrc | 2 - CONTRIBUTING.md | 3 - LICENSE | 2 +- NOTICE | 3 +- README.md | 2701 +- __init__.py | 14 - github.json | 31239 -------------------- github_connector.py | 1900 -- github_list_events.html | 196 - github_list_issues.html | 217 - github_update_issue.html | 256 - github_view.py | 57 - pyproject.toml | 123 +- readme.html | 127 - release_notes/1.0.5.md | 6 - release_notes/2.0.2.md | 11 - release_notes/2.0.7.md | 6 - release_notes/2.0.8.md | 6 - release_notes/2.1.0.md | 1 - release_notes/2.1.1.md | 1 - release_notes/2.1.2.md | 2 - release_notes/unreleased.md | 7 + requirements.txt | 2 + src/__init__.py | 17 + src/actions/__init__.py | 14 + src/actions/make_req.py | 220 + src/app.py | 5378 ++++ src/client.py | 104 + github_consts.py => src/consts.py | 69 +- src/views.py | 77 + templates/github_add_collaborator.html | 99 + templates/github_add_member.html | 96 + templates/github_list_events.html | 117 + templates/github_list_issues.html | 135 + templates/github_list_organizations.html | 86 + templates/github_list_repos.html | 95 + templates/github_list_teams.html | 96 + templates/github_remove_collaborator.html | 92 + templates/github_remove_member.html | 86 + templates/github_update_issue.html | 171 + tests/__init__.py | 13 + tests/conftest.py | 61 + tests/test_actions.py | 1104 + uv.lock | 1191 + 46 files changed, 10119 insertions(+), 36275 deletions(-) create mode 100644 .gitignore delete mode 100644 .pylintrc delete mode 100644 CONTRIBUTING.md delete mode 100644 __init__.py delete mode 100644 github.json delete mode 100644 github_connector.py delete mode 100644 github_list_events.html delete mode 100644 github_list_issues.html delete mode 100644 github_update_issue.html delete mode 100644 github_view.py delete mode 100644 readme.html delete mode 100644 release_notes/1.0.5.md delete mode 100644 release_notes/2.0.2.md delete mode 100644 release_notes/2.0.7.md delete mode 100644 release_notes/2.0.8.md delete mode 100644 release_notes/2.1.0.md delete mode 100644 release_notes/2.1.1.md delete mode 100644 release_notes/2.1.2.md create mode 100644 src/__init__.py create mode 100644 src/actions/__init__.py create mode 100644 src/actions/make_req.py create mode 100644 src/app.py create mode 100644 src/client.py rename github_consts.py => src/consts.py (69%) create mode 100644 src/views.py create mode 100644 templates/github_add_collaborator.html create mode 100644 templates/github_add_member.html create mode 100644 templates/github_list_events.html create mode 100644 templates/github_list_issues.html create mode 100644 templates/github_list_organizations.html create mode 100644 templates/github_list_repos.html create mode 100644 templates/github_list_teams.html create mode 100644 templates/github_remove_collaborator.html create mode 100644 templates/github_remove_member.html create mode 100644 templates/github_update_issue.html create mode 100644 tests/__init__.py create mode 100644 tests/conftest.py create mode 100644 tests/test_actions.py create mode 100644 uv.lock diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b91bef9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,183 @@ +# Created by https://www.toptal.com/developers/gitignore/api/python +# Edit at https://www.toptal.com/developers/gitignore?templates=python + +### Python ### +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm.fming.dev/#use-with-ide +.pdm.toml + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +### Python Patch ### +# Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration +poetry.toml + +# ruff +.ruff_cache/ + +# LSP config files +pyrightconfig.json + +# End of https://www.toptal.com/developers/gitignore/api/python + +test_asset.json +*.tgz + +# makrdown Files +CLAUDE.md +.claude diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 671a3ea..47417c9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,10 +48,9 @@ repos: - id: mdformat exclude: "release_notes/.*" - repo: https://github.com/returntocorp/semgrep - rev: v1.136.0 + rev: v1.165.0 hooks: - id: semgrep - additional_dependencies: ["setuptools==81.0.0"] - repo: https://github.com/Yelp/detect-secrets rev: v1.5.0 hooks: @@ -61,7 +60,7 @@ repos: exclude: "README.md" # Central hooks - repo: https://github.com/phantomcyber/dev-cicd-tools - rev: v2.1.4 + rev: v2.1.0 hooks: - id: build-docs language: python @@ -71,9 +70,6 @@ repos: language: python additional_dependencies: ["local-hooks"] args: ['.'] - - id: package-app-dependencies - language: python - additional_dependencies: ["local-hooks"] - id: notice-file language: python additional_dependencies: ["local-hooks"] diff --git a/.pylintrc b/.pylintrc deleted file mode 100644 index fcbba09..0000000 --- a/.pylintrc +++ /dev/null @@ -1,2 +0,0 @@ -[MASTER] -ignore=.venv diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index c5b339e..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,3 +0,0 @@ -# Contributing - -For more information about contributing to Splunk SOAR Apps please take a look at our app [Contribution Guide](https://github.com/splunk-soar-connectors/.github/blob/main/.github/CONTRIBUTING.md)! diff --git a/LICENSE b/LICENSE index d1885da..de7c3d9 100644 --- a/LICENSE +++ b/LICENSE @@ -186,7 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright (c) 2019-2025 Splunk Inc. + Copyright (c) 2019-2026 Splunk Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/NOTICE b/NOTICE index fa9b2e4..20a3f4e 100644 --- a/NOTICE +++ b/NOTICE @@ -1,2 +1,3 @@ -Splunk SOAR App: GitHub +Splunk SOAR App: github Copyright (c) 2019-2025 Splunk Inc. +Third Party Software Attributions: diff --git a/README.md b/README.md index 2c2f47e..a33834a 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # GitHub Publisher: Splunk
-Connector Version: 2.1.2
+Connector Version: 3.0.0
Product Vendor: Microsoft
Product Name: GitHub
-Minimum Product Version: 5.5.0 +Minimum Product Version: 7.0.0 This app integrates with GitHub to support various investigative and issue-based actions @@ -14,15 +14,13 @@ This table lists the configuration variables required to operate GitHub. These v VARIABLE | REQUIRED | TYPE | DESCRIPTION -------- | -------- | ---- | ----------- -**username** | optional | string | Username | -**password** | optional | password | Password | -**client_id** | optional | string | Client ID | -**client_secret** | optional | password | Client secret | -**personal_access_token** | optional | password | Personal access token | +**personal_access_token** | optional | password | Personal Access Token (PAT) | +**client_id** | optional | string | OAuth App Client ID | +**client_secret** | optional | password | OAuth App Client Secret | ### Supported Actions -[test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using supplied configuration
+[test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using supplied configuration.
[list events](#action-list-events) - List events performed by a user
[list users](#action-list-users) - List users of an organization
[remove collaborator](#action-remove-collaborator) - Remove user as a collaborator from the repo
@@ -38,22 +36,34 @@ VARIABLE | REQUIRED | TYPE | DESCRIPTION [create issue](#action-create-issue) - Create an issue for the GitHub repository
[update issue](#action-update-issue) - Update an issue for the GitHub repository
[create comment](#action-create-comment) - Create a comment for an issue on the GitHub repository
-[add labels](#action-add-labels) - Add label(s) to an issue on the GitHub repository +[add labels](#action-add-labels) - Add label(s) to an issue on the GitHub repository
+[make request](#action-make-request) - Execute an arbitrary HTTP request against the GitHub API. + +Handles all three authentication modes configured on the asset: +username/password basic auth, personal access token, and OAuth Bearer token. +The endpoint is appended to https://api.github.com — do not include the base URL. ## action: 'test connectivity' -Validate the asset configuration for connectivity using supplied configuration +Validate the asset configuration for connectivity using supplied configuration. Type: **test**
Read only: **True** +Basic test for app. + #### Action Parameters No parameters are required for this action #### Action Output -No Output +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | ## action: 'list events' @@ -74,8 +84,9 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.username | string | `github username` | test | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.username | string | `github username` | | action_result.data.\*.actor.avatar_url | string | `url` | https://avatars.githubusercontent.com/u/41301719? | action_result.data.\*.actor.display_login | string | `github username` | test | action_result.data.\*.actor.gravatar_id | string | | | @@ -142,972 +153,109 @@ action_result.data.\*.payload.changes.color.from | string | | | action_result.data.\*.payload.changes.description.from | string | | | action_result.data.\*.payload.changes.due_on.from | string | | | action_result.data.\*.payload.changes.name.from | string | | | -action_result.data.\*.payload.changes.name.from | string | | | action_result.data.\*.payload.changes.note.from | string | | | action_result.data.\*.payload.changes.permission.from | string | | write | action_result.data.\*.payload.changes.privacy.from | string | | | -action_result.data.\*.payload.changes.repository.permissions.from.admin | boolean | | True False | -action_result.data.\*.payload.changes.repository.permissions.from.pull | boolean | | True False | -action_result.data.\*.payload.changes.repository.permissions.from.push | boolean | | True False | +action_result.data.\*.payload.changes.repository.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | +action_result.data.\*.payload.changes.repository.archived | boolean | | True False | +action_result.data.\*.payload.changes.repository.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | +action_result.data.\*.payload.changes.repository.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | +action_result.data.\*.payload.changes.repository.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | +action_result.data.\*.payload.changes.repository.clone_url | string | `url` | https://github.com/test/test-repo.git | +action_result.data.\*.payload.changes.repository.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | +action_result.data.\*.payload.changes.repository.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | +action_result.data.\*.payload.changes.repository.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | +action_result.data.\*.payload.changes.repository.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | +action_result.data.\*.payload.changes.repository.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | +action_result.data.\*.payload.changes.repository.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | +action_result.data.\*.payload.changes.repository.created_at | string | | 2018-05-30T20:18:04Z | +action_result.data.\*.payload.changes.repository.default_branch | string | | master | +action_result.data.\*.payload.changes.repository.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | +action_result.data.\*.payload.changes.repository.description | string | | | +action_result.data.\*.payload.changes.repository.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | +action_result.data.\*.payload.changes.repository.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | +action_result.data.\*.payload.changes.repository.fork | boolean | | True False | +action_result.data.\*.payload.changes.repository.forks | numeric | | 0 | +action_result.data.\*.payload.changes.repository.forks_count | numeric | | 0 | +action_result.data.\*.payload.changes.repository.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | +action_result.data.\*.payload.changes.repository.full_name | string | | test/test-repo | +action_result.data.\*.payload.changes.repository.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | +action_result.data.\*.payload.changes.repository.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | +action_result.data.\*.payload.changes.repository.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | +action_result.data.\*.payload.changes.repository.git_url | string | | git://github.com/test/test-repo.git | +action_result.data.\*.payload.changes.repository.has_downloads | boolean | | True False | +action_result.data.\*.payload.changes.repository.has_issues | boolean | | True False | +action_result.data.\*.payload.changes.repository.has_pages | boolean | | True False | +action_result.data.\*.payload.changes.repository.has_projects | boolean | | True False | +action_result.data.\*.payload.changes.repository.has_wiki | boolean | | True False | +action_result.data.\*.payload.changes.repository.homepage | string | `url` | https://test.com | +action_result.data.\*.payload.changes.repository.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | +action_result.data.\*.payload.changes.repository.html_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.changes.repository.id | numeric | | 135493233 | +action_result.data.\*.payload.changes.repository.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | +action_result.data.\*.payload.changes.repository.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | +action_result.data.\*.payload.changes.repository.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | +action_result.data.\*.payload.changes.repository.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | +action_result.data.\*.payload.changes.repository.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | +action_result.data.\*.payload.changes.repository.language | string | | | +action_result.data.\*.payload.changes.repository.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | +action_result.data.\*.payload.changes.repository.license.key | string | | apache-2.0 | +action_result.data.\*.payload.changes.repository.license.name | string | | Apache License 2.0 | +action_result.data.\*.payload.changes.repository.license.node_id | string | | MDc6TGljZW5zZIT= | +action_result.data.\*.payload.changes.repository.license.spdx_id | string | | Apache-2.0 | +action_result.data.\*.payload.changes.repository.license.url | string | `url` | https://api.github.com/licenses/apache-2.0 | +action_result.data.\*.payload.changes.repository.master_branch | string | | master | +action_result.data.\*.payload.changes.repository.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | +action_result.data.\*.payload.changes.repository.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | +action_result.data.\*.payload.changes.repository.mirror_url | string | `url` | | +action_result.data.\*.payload.changes.repository.name | string | | test-repo | +action_result.data.\*.payload.changes.repository.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | +action_result.data.\*.payload.changes.repository.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | +action_result.data.\*.payload.changes.repository.open_issues | numeric | | 0 | +action_result.data.\*.payload.changes.repository.open_issues_count | numeric | | 0 | +action_result.data.\*.payload.changes.repository.owner.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41409665?v=4 | +action_result.data.\*.payload.changes.repository.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.changes.repository.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.changes.repository.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.changes.repository.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.changes.repository.owner.gravatar_id | string | | | +action_result.data.\*.payload.changes.repository.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.changes.repository.owner.id | numeric | | 41309165 | +action_result.data.\*.payload.changes.repository.owner.login | string | `github username` | test | +action_result.data.\*.payload.changes.repository.owner.node_id | string | | MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1 | +action_result.data.\*.payload.changes.repository.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.changes.repository.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.changes.repository.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.changes.repository.owner.site_admin | boolean | | True False | +action_result.data.\*.payload.changes.repository.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.changes.repository.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.changes.repository.owner.type | string | | Organization | +action_result.data.\*.payload.changes.repository.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.changes.repository.private | boolean | | True False | +action_result.data.\*.payload.changes.repository.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | +action_result.data.\*.payload.changes.repository.pushed_at | string | | 2018-05-30T20:18:34Z | +action_result.data.\*.payload.changes.repository.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | +action_result.data.\*.payload.changes.repository.size | numeric | | 0 | +action_result.data.\*.payload.changes.repository.ssh_url | string | | git@github.com:test/test-repo.git | +action_result.data.\*.payload.changes.repository.stargazers | numeric | | 1 | +action_result.data.\*.payload.changes.repository.stargazers_count | numeric | | 0 | +action_result.data.\*.payload.changes.repository.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | +action_result.data.\*.payload.changes.repository.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | +action_result.data.\*.payload.changes.repository.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | +action_result.data.\*.payload.changes.repository.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | +action_result.data.\*.payload.changes.repository.svn_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.changes.repository.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | +action_result.data.\*.payload.changes.repository.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | +action_result.data.\*.payload.changes.repository.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | +action_result.data.\*.payload.changes.repository.updated_at | string | | 2018-05-30T20:18:44Z | +action_result.data.\*.payload.changes.repository.url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.payload.changes.repository.watchers | numeric | | 0 | +action_result.data.\*.payload.changes.repository.watchers_count | numeric | | 0 | action_result.data.\*.payload.changes.title.from | string | | | -action_result.data.\*.payload.check_run.app.created_at | string | | | -action_result.data.\*.payload.check_run.app.description | string | | | -action_result.data.\*.payload.check_run.app.external_url | string | `url` | http://super-duper.example.com | -action_result.data.\*.payload.check_run.app.html_url | string | `url` | http://github.com/apps/super-duper | -action_result.data.\*.payload.check_run.app.id | numeric | | 2 | -action_result.data.\*.payload.check_run.app.name | string | | Super Duper | -action_result.data.\*.payload.check_run.app.node_id | string | | MDExOkludGVncmF0aW9uMQ= | -action_result.data.\*.payload.check_run.app.owner.avatar_url | string | `url` | http://alambic.github.com/avatars/u/340? | -action_result.data.\*.payload.check_run.app.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.app.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.app.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.app.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.app.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_run.app.owner.html_url | string | `url` | http://github.com/test | -action_result.data.\*.payload.check_run.app.owner.id | numeric | | 340 | -action_result.data.\*.payload.check_run.app.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_run.app.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE= | -action_result.data.\*.payload.check_run.app.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.app.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.app.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.app.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.app.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.app.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.app.owner.type | string | | Organization | -action_result.data.\*.payload.check_run.app.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.app.updated_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_run.check_suite.after | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_run.check_suite.app.created_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_run.check_suite.app.description | string | | | -action_result.data.\*.payload.check_run.check_suite.app.external_url | string | `url` | http://super-duper.example.com | -action_result.data.\*.payload.check_run.check_suite.app.html_url | string | `url` | http://github.com/apps/super-duper | -action_result.data.\*.payload.check_run.check_suite.app.id | numeric | | 2 | -action_result.data.\*.payload.check_run.check_suite.app.name | string | | Super Duper | -action_result.data.\*.payload.check_run.check_suite.app.node_id | string | | MDExOkludGVncmF0aW9uMQ= | -action_result.data.\*.payload.check_run.check_suite.app.owner.avatar_url | string | `url` | http://api.github.com/avatars/u/340? | -action_result.data.\*.payload.check_run.check_suite.app.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.app.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.app.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.app.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.app.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.app.owner.html_url | string | `url` | http://github.com/test | -action_result.data.\*.payload.check_run.check_suite.app.owner.id | numeric | | 340 | -action_result.data.\*.payload.check_run.check_suite.app.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.app.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE= | -action_result.data.\*.payload.check_run.check_suite.app.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.app.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.app.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.app.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.app.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.app.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.app.owner.type | string | | Organization | -action_result.data.\*.payload.check_run.check_suite.app.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.app.updated_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_run.check_suite.before | string | `sha1` | 146e867f55c26428e5f9fade55a9bbf5e95a7912 | -action_result.data.\*.payload.check_run.check_suite.check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | -action_result.data.\*.payload.check_run.check_suite.conclusion | string | | neutral | -action_result.data.\*.payload.check_run.check_suite.created_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_run.check_suite.head_branch | string | | master | -action_result.data.\*.payload.check_run.check_suite.head_commit.author.email | string | `email` | test@user.com | -action_result.data.\*.payload.check_run.check_suite.head_commit.author.name | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.head_commit.committer.email | string | `email` | test@user.com | -action_result.data.\*.payload.check_run.check_suite.head_commit.committer.name | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_run.check_suite.head_commit.message | string | | Sample message | -action_result.data.\*.payload.check_run.check_suite.head_commit.timestamp | string | | 2018-05-04T01:14:46Z | -action_result.data.\*.payload.check_run.check_suite.head_commit.tree_id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_run.check_suite.head_sha | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_run.check_suite.id | numeric | | 5 | -action_result.data.\*.payload.check_run.check_suite.latest_check_runs_count | numeric | | 1 | -action_result.data.\*.payload.check_run.check_suite.latest_check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.comments.href | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.commits.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.html.href | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.review_comment.href | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.review_comments.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.self.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.\_links.statuses.href | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.additions | numeric | | 24 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.id | numeric | | 29939753 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignee.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.id | numeric | | 29939753 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.assignees.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.author_association | string | | CONTRIBUTOR | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.label | string | | test:2.8 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.ref | string | | 2.8 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.archived | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}..{head} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.created_at | string | | 2010-01-04T14:21:21Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.default_branch | string | | master | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.fork | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.forks | numeric | | 6330 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.forks_count | numeric | | 6330 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.id | numeric | | 458058 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.language | string | | PHP | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.license.key | string | | mit | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.license.name | string | | MIT License | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.name | string | | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk0NTgwNTg= | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.open_issues | numeric | | 893 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.open_issues_count | numeric | | 893 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.id | numeric | | 143937 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.type | string | | Organization | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.private | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.pushed_at | string | | 2018-07-19T12:14:02Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.size | numeric | | 120647 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.stargazers_count | numeric | | 18086 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.updated_at | string | | 2018-07-19T11:54:19Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.watchers | numeric | | 18086 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.repo.watchers_count | numeric | | 18086 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.sha | string | `sha1` | 08a49bc5302de373bdb44e5c189133a7d5d5f12b | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.id | numeric | | 143937 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.type | string | | Organization | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.base.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.body | string | | pull requests sample body | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.changed_files | numeric | | 6 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.closed_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.comments | numeric | | 1 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.comments_url | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.commits | numeric | | 1 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.commits_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.created_at | string | | 2018-07-19T12:12:54Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.deletions | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.diff_url | string | `url` | https://github.com/test/test/pull/27999.diff | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.label | string | | test:uuid-translations | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.ref | string | | uuid-translations | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.archived | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}..{head} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.created_at | string | | 2017-02-01T16:32:59Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.default_branch | string | | master | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.fork | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.forks | numeric | | 1 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.forks_count | numeric | | 1 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.id | numeric | | 80639758 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.language | string | | PHP | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.license.key | string | | mit | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.license.name | string | | MIT License | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.name | string | | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA== | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.open_issues | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.id | numeric | | 1032411 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.private | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.pushed_at | string | | 2018-07-19T12:11:30Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.size | numeric | | 112468 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.updated_at | string | | 2017-02-01T16:33:18Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.watchers | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.repo.watchers_count | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.id | numeric | | 1032411 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.head.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.html_url | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.id | numeric | | 202539219 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.issue_url | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.labels.\*.color | string | | e10c02 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.labels.\*.default | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.labels.\*.id | numeric | | 100079 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.labels.\*.name | string | | Bug | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.labels.\*.node_id | string | | MDU6TGFiZWwxMDAwNzk= | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.labels.\*.url | string | `url` | https://api.github.com/repos/test/test/labels/Bug | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.locked | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.maintainer_can_modify | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merge_commit_sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.mergeable | boolean | | False True | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.mergeable_state | string | | unknown | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/47313?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.id | numeric | | 47313 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.node_id | string | | MDQ6VXNlcjQ3MzEz | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.merged_by.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.closed_issues | numeric | | 879 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.id | numeric | | 73419 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.description | string | `url` | https://test.com/roadmap?version=3.4#checker | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.id | numeric | | 2117464 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.number | numeric | | 10 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.open_issues | numeric | | 15 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.state | string | | open | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.title | string | | 3.4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.node_id | string | | MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.number | numeric | | 27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.patch_url | string | `url` | https://github.com/test/test/pull/27999.patch | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.rebaseable | boolean | | False True | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/57224?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.id | numeric | | 57224 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.node_id | string | | MDQ6VXNlcjU3MjI0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_reviewers.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.created_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.description | string | | Everybody but Tony | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.id | numeric | `github team id` | 2826794 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.members_count | numeric | | 2 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.members_url | string | `url` | https://api.github.com/teams/2826794/members{/member} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.name | string | `github team name` | not-tony-team | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.node_id | string | | MDQ6VGVhbTI4MjY3OTQ= | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.created_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.description | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.followers | numeric | | 3 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.following | numeric | | 3 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.has_organization_projects | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.has_repository_projects | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.id | numeric | | 41309665 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.public_gists | numeric | | 3 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.public_repos | numeric | | 3 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.type | string | | Organization | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.updated_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.organization.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.permission | string | | pull | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.privacy | string | | closed | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.repos_count | numeric | | 2 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.repositories_url | string | `url` | https://api.github.com/teams/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.slug | string | | not-tony-team | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.updated_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.requested_teams.\*.url | string | `url` | https://api.github.com/teams/2826794 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.review_comment_url | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.review_comments | numeric | | 0 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.review_comments_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.state | string | | closed | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.title | string | | Sample title | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.updated_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.url | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.gravatar_id | string | | | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.id | numeric | | 1032411 | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.login | string | `github username` | test | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.type | string | | User | -action_result.data.\*.payload.check_run.check_suite.pull_requests.\*.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.check_suite.status | string | | completed | -action_result.data.\*.payload.check_run.check_suite.updated_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_run.check_suite.url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5 | -action_result.data.\*.payload.check_run.completed_at | string | | 2018-05-04T01:14:52Z | -action_result.data.\*.payload.check_run.conclusion | string | | neutral | -action_result.data.\*.payload.check_run.external_id | string | | | -action_result.data.\*.payload.check_run.head_sha | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_run.html_url | string | `url` | http://github.com/test/test-repo/runs/4 | -action_result.data.\*.payload.check_run.id | numeric | | 4 | -action_result.data.\*.payload.check_run.name | string | | randscape | -action_result.data.\*.payload.check_run.output.annotations_count | numeric | | 12 | -action_result.data.\*.payload.check_run.output.annotations_url | string | `url` | https://api.github.com/repos/test/test-repo/check-runs/4/annotations | -action_result.data.\*.payload.check_run.output.summary | string | | It's all good | -action_result.data.\*.payload.check_run.output.text | string | | Sample text | -action_result.data.\*.payload.check_run.output.title | string | | Report | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.comments.href | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.commits.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.html.href | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.review_comment.href | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.review_comments.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.self.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.\_links.statuses.href | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.pull_requests.\*.additions | numeric | | 24 | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.id | numeric | | 29939753 | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.assignee.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.id | numeric | | 29939753 | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.assignees.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.author_association | string | | CONTRIBUTOR | -action_result.data.\*.payload.check_run.pull_requests.\*.base.label | string | | test:2.8 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.ref | string | | 2.8 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.archived | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}...{head} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.created_at | string | | 2010-01-04T14:21:21Z | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.default_branch | string | | master | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.fork | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.forks | numeric | | 6330 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.forks_count | numeric | | 6330 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.id | numeric | | 458058 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.language | string | | PHP | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.license.key | string | | mit | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.license.name | string | | MIT License | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.name | string | | test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk0NTgwNTg= | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.open_issues | numeric | | 893 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.open_issues_count | numeric | | 893 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.id | numeric | | 143937 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.type | string | | Organization | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.private | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.pushed_at | string | | 2018-07-19T12:14:02Z | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.size | numeric | | 120647 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.stargazers_count | numeric | | 18086 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.updated_at | string | | 2018-07-19T11:54:19Z | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.watchers | numeric | | 18086 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.repo.watchers_count | numeric | | 18086 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.sha | string | `sha1` | 08a49bc5302de373bdb44e5c189133a7d5d5f12b | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.id | numeric | | 143937 | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.type | string | | Organization | -action_result.data.\*.payload.check_run.pull_requests.\*.base.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.body | string | | Sample body | -action_result.data.\*.payload.check_run.pull_requests.\*.changed_files | numeric | | 6 | -action_result.data.\*.payload.check_run.pull_requests.\*.closed_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_run.pull_requests.\*.comments | numeric | | 1 | -action_result.data.\*.payload.check_run.pull_requests.\*.comments_url | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.check_run.pull_requests.\*.commits | numeric | | 1 | -action_result.data.\*.payload.check_run.pull_requests.\*.commits_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.check_run.pull_requests.\*.created_at | string | | 2018-07-19T12:12:54Z | -action_result.data.\*.payload.check_run.pull_requests.\*.deletions | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.diff_url | string | `url` | https://github.com/test/test/pull/27999.diff | -action_result.data.\*.payload.check_run.pull_requests.\*.head.label | string | | test:uuid-translations | -action_result.data.\*.payload.check_run.pull_requests.\*.head.ref | string | | uuid-translations | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.archived | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}...{head} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.created_at | string | | 2017-02-01T16:32:59Z | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.default_branch | string | | master | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.fork | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.forks | numeric | | 1 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.forks_count | numeric | | 1 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.id | numeric | | 80639758 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.language | string | | PHP | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.license.key | string | | mit | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.license.name | string | | MIT License | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.name | string | | test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA== | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.open_issues | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.id | numeric | | 1032411 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.private | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.pushed_at | string | | 2018-07-19T12:11:30Z | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.size | numeric | | 112468 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.updated_at | string | | 2017-02-01T16:33:18Z | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.watchers | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.repo.watchers_count | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.id | numeric | | 1032411 | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.head.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.html_url | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.id | numeric | | 202539219 | -action_result.data.\*.payload.check_run.pull_requests.\*.issue_url | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.labels.\*.color | string | | e10c02 | -action_result.data.\*.payload.check_run.pull_requests.\*.labels.\*.default | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.labels.\*.id | numeric | | 100079 | -action_result.data.\*.payload.check_run.pull_requests.\*.labels.\*.name | string | | Bug | -action_result.data.\*.payload.check_run.pull_requests.\*.labels.\*.node_id | string | | MDU6TGFiZWwxMDAwNzk= | -action_result.data.\*.payload.check_run.pull_requests.\*.labels.\*.url | string | `url` | https://api.github.com/repos/test/test/labels/Bug | -action_result.data.\*.payload.check_run.pull_requests.\*.locked | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.maintainer_can_modify | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.merge_commit_sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.pull_requests.\*.mergeable | boolean | | False True | -action_result.data.\*.payload.check_run.pull_requests.\*.mergeable_state | string | | unknown | -action_result.data.\*.payload.check_run.pull_requests.\*.merged | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/47313?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.id | numeric | | 47313 | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.node_id | string | | MDQ6VXNlcjQ3MzEz | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.merged_by.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.closed_issues | numeric | | 879 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.id | numeric | | 73419 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.description | string | `url` | https://test.com/roadmap?version=3.4#checker | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.id | numeric | | 2117464 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.number | numeric | | 10 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.open_issues | numeric | | 15 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.state | string | | open | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.title | string | | 3.4 | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | -action_result.data.\*.payload.check_run.pull_requests.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | -action_result.data.\*.payload.check_run.pull_requests.\*.node_id | string | | MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5 | -action_result.data.\*.payload.check_run.pull_requests.\*.number | numeric | | 27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.patch_url | string | `url` | https://github.com/test/test/pull/27999.patch | -action_result.data.\*.payload.check_run.pull_requests.\*.rebaseable | boolean | | False True | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/57224?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.id | numeric | | 57224 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.node_id | string | | MDQ6VXNlcjU3MjI0 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_reviewers.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.created_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.description | string | | Everybody but Tony | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.id | numeric | | 2826794 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.members_count | numeric | | 2 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.members_url | string | `url` | https://api.github.com/teams/2826794/members{/member} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.name | string | | not-tony-team | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.node_id | string | | MDQ6VGVhbTI4MjY3OTQ= | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.created_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.description | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.followers | numeric | | 3 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.following | numeric | | 3 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.has_organization_projects | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.has_repository_projects | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.id | numeric | | 41309665 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.public_gists | numeric | | 3 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.public_repos | numeric | | 3 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.type | string | | Organization | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.updated_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.organization.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.permission | string | | pull | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.privacy | string | | closed | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.repos_count | numeric | | 2 | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.repositories_url | string | `url` | https://api.github.com/teams/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.slug | string | | not-tony-team | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.updated_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.check_run.pull_requests.\*.requested_teams.\*.url | string | `url` | https://api.github.com/teams/2826794 | -action_result.data.\*.payload.check_run.pull_requests.\*.review_comment_url | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.check_run.pull_requests.\*.review_comments | numeric | | 0 | -action_result.data.\*.payload.check_run.pull_requests.\*.review_comments_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.check_run.pull_requests.\*.state | string | | closed | -action_result.data.\*.payload.check_run.pull_requests.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_run.pull_requests.\*.title | string | | Sample title | -action_result.data.\*.payload.check_run.pull_requests.\*.updated_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_run.pull_requests.\*.url | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.check_run.pull_requests.\*.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_run.pull_requests.\*.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_run.pull_requests.\*.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_run.pull_requests.\*.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_run.pull_requests.\*.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_run.pull_requests.\*.user.gravatar_id | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_run.pull_requests.\*.user.id | numeric | | 1032411 | -action_result.data.\*.payload.check_run.pull_requests.\*.user.login | string | `github username` | test | -action_result.data.\*.payload.check_run.pull_requests.\*.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_run.pull_requests.\*.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_run.pull_requests.\*.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_run.pull_requests.\*.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_run.pull_requests.\*.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_run.pull_requests.\*.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_run.pull_requests.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_run.pull_requests.\*.user.type | string | | User | -action_result.data.\*.payload.check_run.pull_requests.\*.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_run.started_at | string | | 2018-05-04T01:14:52Z | -action_result.data.\*.payload.check_run.status | string | | completed | -action_result.data.\*.payload.check_run.url | string | `url` | https://api.github.com/repos/test/test-repo/check-runs/4 | +action_result.data.\*.payload.check_run.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | +action_result.data.\*.payload.check_run.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | +action_result.data.\*.payload.check_run.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | +action_result.data.\*.payload.check_run.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | action_result.data.\*.payload.check_suite.after | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | action_result.data.\*.payload.check_suite.app.created_at | string | | 2018-04-25 20:42:10 | action_result.data.\*.payload.check_suite.app.description | string | | | @@ -1116,23 +264,23 @@ action_result.data.\*.payload.check_suite.app.html_url | string | `url` | http:/ action_result.data.\*.payload.check_suite.app.id | numeric | | 2 | action_result.data.\*.payload.check_suite.app.name | string | | Super Duper | action_result.data.\*.payload.check_suite.app.node_id | string | | MDExOkludGVncmF0aW9uMQ= | -action_result.data.\*.payload.check_suite.app.owner.avatar_url | string | `url` | http://alambic.github.com/avatars/u/340? | +action_result.data.\*.payload.check_suite.app.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | action_result.data.\*.payload.check_suite.app.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | action_result.data.\*.payload.check_suite.app.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | action_result.data.\*.payload.check_suite.app.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | action_result.data.\*.payload.check_suite.app.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | action_result.data.\*.payload.check_suite.app.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.app.owner.html_url | string | `url` | http://github.com/test | -action_result.data.\*.payload.check_suite.app.owner.id | numeric | | 340 | +action_result.data.\*.payload.check_suite.app.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.check_suite.app.owner.id | numeric | | 29939753 | action_result.data.\*.payload.check_suite.app.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.app.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE= | +action_result.data.\*.payload.check_suite.app.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | action_result.data.\*.payload.check_suite.app.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | action_result.data.\*.payload.check_suite.app.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | action_result.data.\*.payload.check_suite.app.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | action_result.data.\*.payload.check_suite.app.owner.site_admin | boolean | | True False | action_result.data.\*.payload.check_suite.app.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | action_result.data.\*.payload.check_suite.app.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.app.owner.type | string | | Organization | +action_result.data.\*.payload.check_suite.app.owner.type | string | | User | action_result.data.\*.payload.check_suite.app.owner.url | string | `url` | https://api.github.com/users/test | action_result.data.\*.payload.check_suite.app.updated_at | string | | 2018-04-25 20:42:10 | action_result.data.\*.payload.check_suite.before | string | `sha1` | 146e867f55c26428e5f9fade55a9bbf5e95a7912 | @@ -1140,8 +288,24 @@ action_result.data.\*.payload.check_suite.check_runs_url | string | `url` | http action_result.data.\*.payload.check_suite.conclusion | string | | neutral | action_result.data.\*.payload.check_suite.created_at | string | | 2018-04-25 20:42:10 | action_result.data.\*.payload.check_suite.head_branch | string | | master | -action_result.data.\*.payload.check_suite.head_commit.author.email | string | `email` | test@user.com | -action_result.data.\*.payload.check_suite.head_commit.author.name | string | `github username` | test | +action_result.data.\*.payload.check_suite.head_commit.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | +action_result.data.\*.payload.check_suite.head_commit.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.check_suite.head_commit.author.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.check_suite.head_commit.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.check_suite.head_commit.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.check_suite.head_commit.author.gravatar_id | string | | | +action_result.data.\*.payload.check_suite.head_commit.author.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.check_suite.head_commit.author.id | numeric | | 1 | +action_result.data.\*.payload.check_suite.head_commit.author.login | string | `github username` | test | +action_result.data.\*.payload.check_suite.head_commit.author.node_id | string | | MDQ6VXNlcjE= | +action_result.data.\*.payload.check_suite.head_commit.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.check_suite.head_commit.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.check_suite.head_commit.author.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.check_suite.head_commit.author.site_admin | boolean | | True False | +action_result.data.\*.payload.check_suite.head_commit.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.check_suite.head_commit.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.check_suite.head_commit.author.type | string | | User | +action_result.data.\*.payload.check_suite.head_commit.author.url | string | `url` | https://api.github.com/users/test | action_result.data.\*.payload.check_suite.head_commit.committer.email | string | `email` | test@user.com | action_result.data.\*.payload.check_suite.head_commit.committer.name | string | `github username` | test | action_result.data.\*.payload.check_suite.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | @@ -1152,448 +316,14 @@ action_result.data.\*.payload.check_suite.head_sha | string | `sha1` | d6fde9293 action_result.data.\*.payload.check_suite.id | numeric | | 5 | action_result.data.\*.payload.check_suite.latest_check_runs_count | numeric | | 1 | action_result.data.\*.payload.check_suite.latest_check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.comments.href | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.commits.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.html.href | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.review_comment.href | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.review_comments.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.self.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.\_links.statuses.href | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_suite.pull_requests.\*.additions | numeric | | 24 | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.id | numeric | | 29939753 | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignee.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.id | numeric | | 29939753 | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.assignees.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.author_association | string | | CONTRIBUTOR | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.label | string | | test:2.8 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.ref | string | | 2.8 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.archived | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}..{head} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.created_at | string | | 2010-01-04T14:21:21Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.default_branch | string | | master | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.fork | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.forks | numeric | | 6330 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.forks_count | numeric | | 6330 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.id | numeric | | 458058 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.language | string | | PHP | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.license.key | string | | mit | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.license.name | string | | MIT License | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.name | string | | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk0NTgwNTg= | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.open_issues | numeric | | 893 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.open_issues_count | numeric | | 893 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.id | numeric | | 143937 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.type | string | | Organization | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.private | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.pushed_at | string | | 2018-07-19T12:14:02Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.size | numeric | | 120647 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.stargazers_count | numeric | | 18086 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.updated_at | string | | 2018-07-19T11:54:19Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.watchers | numeric | | 18086 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.repo.watchers_count | numeric | | 18086 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.sha | string | `sha1` | 08a49bc5302de373bdb44e5c189133a7d5d5f12b | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.id | numeric | | 143937 | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.type | string | | Organization | -action_result.data.\*.payload.check_suite.pull_requests.\*.base.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.body | string | | Sample body | -action_result.data.\*.payload.check_suite.pull_requests.\*.changed_files | numeric | | 6 | -action_result.data.\*.payload.check_suite.pull_requests.\*.closed_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.comments | numeric | | 1 | -action_result.data.\*.payload.check_suite.pull_requests.\*.comments_url | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.check_suite.pull_requests.\*.commits | numeric | | 1 | -action_result.data.\*.payload.check_suite.pull_requests.\*.commits_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.check_suite.pull_requests.\*.created_at | string | | 2018-07-19T12:12:54Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.deletions | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.diff_url | string | `url` | https://github.com/test/test/pull/27999.diff | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.label | string | | test:uuid-translations | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.ref | string | | uuid-translations | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.archived | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}..{head} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.created_at | string | | 2017-02-01T16:32:59Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.default_branch | string | | master | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.fork | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.forks | numeric | | 1 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.forks_count | numeric | | 1 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.id | numeric | | 80639758 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.language | string | | PHP | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.license.key | string | | mit | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.license.name | string | | MIT License | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.name | string | `github repo` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA== | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.open_issues | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.id | numeric | | 1032411 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.private | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.pushed_at | string | | 2018-07-19T12:11:30Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.size | numeric | | 112468 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.updated_at | string | | 2017-02-01T16:33:18Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.watchers | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.repo.watchers_count | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.id | numeric | | 1032411 | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.head.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.html_url | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.id | numeric | | 202539219 | -action_result.data.\*.payload.check_suite.pull_requests.\*.issue_url | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.labels.\*.color | string | | e10c02 | -action_result.data.\*.payload.check_suite.pull_requests.\*.labels.\*.default | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.labels.\*.id | numeric | | 100079 | -action_result.data.\*.payload.check_suite.pull_requests.\*.labels.\*.name | string | | Bug | -action_result.data.\*.payload.check_suite.pull_requests.\*.labels.\*.node_id | string | | MDU6TGFiZWwxMDAwNzk= | -action_result.data.\*.payload.check_suite.pull_requests.\*.labels.\*.url | string | `url` | https://api.github.com/repos/test/test/labels/Bug | -action_result.data.\*.payload.check_suite.pull_requests.\*.locked | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.maintainer_can_modify | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.merge_commit_sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_suite.pull_requests.\*.mergeable | boolean | | False True | -action_result.data.\*.payload.check_suite.pull_requests.\*.mergeable_state | string | | unknown | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/47313?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.id | numeric | | 47313 | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.node_id | string | | MDQ6VXNlcjQ3MzEz | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.merged_by.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.closed_at | string | | 2016-11-06T21:24:23Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.closed_issues | numeric | | 879 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.id | numeric | | 73419 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.description | string | `url` | https://test.com/roadmap?version=3.4#checker | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.id | numeric | | 2117464 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.number | numeric | | 10 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.open_issues | numeric | | 15 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.state | string | | open | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.title | string | | 3.4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | -action_result.data.\*.payload.check_suite.pull_requests.\*.node_id | string | | MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5 | -action_result.data.\*.payload.check_suite.pull_requests.\*.number | numeric | | 27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.patch_url | string | `url` | https://github.com/test/test/pull/27999.patch | -action_result.data.\*.payload.check_suite.pull_requests.\*.rebaseable | boolean | | False True | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/57224?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.id | numeric | | 57224 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.node_id | string | | MDQ6VXNlcjU3MjI0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_reviewers.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.created_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.description | string | | Everybody but Tony | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.id | numeric | | 2826794 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.members_count | numeric | | 2 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.members_url | string | `url` | https://api.github.com/teams/2826794/members{/member} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.name | string | | not-tony-team | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.node_id | string | | MDQ6VGVhbTI4MjY3OTQ= | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.created_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.description | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.followers | numeric | | 3 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.following | numeric | | 3 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.has_organization_projects | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.has_repository_projects | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.id | numeric | | 41309665 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.login | string | `github organization name` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.public_gists | numeric | | 3 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.public_repos | numeric | | 3 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.type | string | | Organization | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.updated_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.organization.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.permission | string | | pull | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.privacy | string | | closed | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.repos_count | numeric | | 2 | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.repositories_url | string | `url` | https://api.github.com/teams/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.slug | string | | not-tony-team | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.updated_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.requested_teams.\*.url | string | `url` | https://api.github.com/teams/2826794 | -action_result.data.\*.payload.check_suite.pull_requests.\*.review_comment_url | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.check_suite.pull_requests.\*.review_comments | numeric | | 0 | -action_result.data.\*.payload.check_suite.pull_requests.\*.review_comments_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.check_suite.pull_requests.\*.state | string | | closed | -action_result.data.\*.payload.check_suite.pull_requests.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.check_suite.pull_requests.\*.title | string | | Sample title | -action_result.data.\*.payload.check_suite.pull_requests.\*.updated_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.check_suite.pull_requests.\*.url | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.id | numeric | | 1032411 | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.type | string | | User | -action_result.data.\*.payload.check_suite.pull_requests.\*.user.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.check_suite.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | +action_result.data.\*.payload.check_suite.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | +action_result.data.\*.payload.check_suite.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | +action_result.data.\*.payload.check_suite.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | action_result.data.\*.payload.check_suite.status | string | | completed | action_result.data.\*.payload.check_suite.updated_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.comment.\_links.check_run.pull_requests.\*.href | string | `url` | https://api.github.com/repos/test/test/pulls/27967 | -action_result.data.\*.payload.comment.\_links.html.href | string | `url` | https://github.com/test/test/pull/27967#discussion_r203241551 | -action_result.data.\*.payload.comment.\_links.pull_request.href | string | `url` | https://api.github.com/repos/test/test/pulls/27967 | -action_result.data.\*.payload.comment.\_links.pull_request.href | string | `url` | https://api.github.com/repos/test/test/pulls/27967 | -action_result.data.\*.payload.comment.\_links.self.href | string | `url` | https://api.github.com/repos/test/test/pulls/comments/203241551 | +action_result.data.\*.payload.comment.links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | +action_result.data.\*.payload.comment.links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | action_result.data.\*.payload.comment.author_association | string | | CONTRIBUTOR | action_result.data.\*.payload.comment.body | string | | LGTM. Can you add some tests? | action_result.data.\*.payload.comment.commit_id | string | `sha1` | 329bd507c1123c1ab24e58b78fa8d32bd1c70639 | @@ -1613,16 +343,16 @@ action_result.data.\*.payload.comment.pull_request_review_id | numeric | | 13809 action_result.data.\*.payload.comment.pull_request_url | string | `url` | https://api.github.com/repos/test/test/pulls/27967 | action_result.data.\*.payload.comment.updated_at | string | | 2018-07-20T05:36:22Z | action_result.data.\*.payload.comment.url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/comments/406494157 | -action_result.data.\*.payload.comment.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/47313?v=4 | +action_result.data.\*.payload.comment.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | action_result.data.\*.payload.comment.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | action_result.data.\*.payload.comment.user.followers_url | string | `url` | https://api.github.com/users/test/followers | action_result.data.\*.payload.comment.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | action_result.data.\*.payload.comment.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | action_result.data.\*.payload.comment.user.gravatar_id | string | | | action_result.data.\*.payload.comment.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.comment.user.id | numeric | | 47313 | +action_result.data.\*.payload.comment.user.id | numeric | | 1032411 | action_result.data.\*.payload.comment.user.login | string | `github username` | test | -action_result.data.\*.payload.comment.user.node_id | string | | MDQ6VXNlcjQ3MzEz | +action_result.data.\*.payload.comment.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | action_result.data.\*.payload.comment.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | action_result.data.\*.payload.comment.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | action_result.data.\*.payload.comment.user.repos_url | string | `url` | https://api.github.com/users/test/repos | @@ -1631,18 +361,12 @@ action_result.data.\*.payload.comment.user.starred_url | string | `url` | https: action_result.data.\*.payload.comment.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | action_result.data.\*.payload.comment.user.type | string | | User | action_result.data.\*.payload.comment.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.commits.\*.author.email | string | `email` | jz@becklyn.com | -action_result.data.\*.payload.commits.\*.author.name | string | `github username` | Jannik Zschiesche | -action_result.data.\*.payload.commits.\*.distinct | boolean | | True False | -action_result.data.\*.payload.commits.\*.message | string | | Add several missing translations of the UUID validation message | -action_result.data.\*.payload.commits.\*.sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.commits.\*.url | string | `url` | https://api.github.com/repos/test/test/commits/ee780f3c664f8e2846aba087c5e9653a92c64252 | +action_result.data.\*.payload.commits.\*.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | action_result.data.\*.payload.compare | string | `url` | https://github.com/test/test-repo/compare/a10867b14bb7...000000000000 | action_result.data.\*.payload.created | boolean | | True False | action_result.data.\*.payload.deleted | boolean | | True False | action_result.data.\*.payload.description | string | | test-repo-Description | action_result.data.\*.payload.distinct_size | numeric | | 100 | -action_result.data.\*.payload.distinct_size | numeric | | 2 | action_result.data.\*.payload.effective_date | string | | 2017-10-25T00:00:00+00:00 | action_result.data.\*.payload.forced | boolean | | True False | action_result.data.\*.payload.forkee.archive_url | string | `url` | https://api.github.com/repos/test/test-proj/{archive_format}{/ref} | @@ -1740,8 +464,24 @@ action_result.data.\*.payload.forkee.url | string | `url` | https://api.github.c action_result.data.\*.payload.forkee.watchers | numeric | | 0 | action_result.data.\*.payload.forkee.watchers_count | numeric | | 0 | action_result.data.\*.payload.head | string | `sha1` | 9bfa971bc5662a6f90408b58a7b2453d7dae4f83 | -action_result.data.\*.payload.head_commit.author.email | string | `email` | test@user.com | -action_result.data.\*.payload.head_commit.author.name | string | `github username` | test | +action_result.data.\*.payload.head_commit.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | +action_result.data.\*.payload.head_commit.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.head_commit.author.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.head_commit.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.head_commit.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.head_commit.author.gravatar_id | string | | | +action_result.data.\*.payload.head_commit.author.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.head_commit.author.id | numeric | | 1 | +action_result.data.\*.payload.head_commit.author.login | string | `github username` | test | +action_result.data.\*.payload.head_commit.author.node_id | string | | MDQ6VXNlcjE= | +action_result.data.\*.payload.head_commit.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.head_commit.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.head_commit.author.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.head_commit.author.site_admin | boolean | | True False | +action_result.data.\*.payload.head_commit.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.head_commit.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.head_commit.author.type | string | | User | +action_result.data.\*.payload.head_commit.author.url | string | `url` | https://api.github.com/users/test | action_result.data.\*.payload.head_commit.committer.email | string | `email` | test@user.com | action_result.data.\*.payload.head_commit.committer.name | string | `github username` | test | action_result.data.\*.payload.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | @@ -1749,24 +489,10 @@ action_result.data.\*.payload.head_commit.message | string | | Sample message | action_result.data.\*.payload.head_commit.timestamp | string | | 2018-05-04T01:14:46Z | action_result.data.\*.payload.head_commit.tree_id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | action_result.data.\*.payload.installation.access_tokens_url | string | `url` | https://api.github.com/installations/2/access_tokens | -action_result.data.\*.payload.installation.account.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.installation.account.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.installation.account.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.installation.account.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.installation.account.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.installation.account.gravatar_id | string | | | -action_result.data.\*.payload.installation.account.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.installation.account.id | numeric | | 1032411 | +action_result.data.\*.payload.installation.account.id | numeric | | 18404719 | action_result.data.\*.payload.installation.account.login | string | `github username` | test | -action_result.data.\*.payload.installation.account.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.installation.account.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.installation.account.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.installation.account.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.installation.account.site_admin | boolean | | True False | -action_result.data.\*.payload.installation.account.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.installation.account.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.installation.account.type | string | | User | -action_result.data.\*.payload.installation.account.url | string | `url` | https://api.github.com/users/octocat | +action_result.data.\*.payload.installation.account.organization_billing_email | string | `email` | username@email.com | +action_result.data.\*.payload.installation.account.type | string | | Organization | action_result.data.\*.payload.installation.app_id | numeric | | 5725 | action_result.data.\*.payload.installation.created_at | numeric | | 1525109898 | action_result.data.\*.payload.installation.events | string | | User | @@ -1781,125 +507,7 @@ action_result.data.\*.payload.installation.single_file_name | string | `file nam action_result.data.\*.payload.installation.target_id | numeric | | 3880403 | action_result.data.\*.payload.installation.target_type | string | | User | action_result.data.\*.payload.installation.updated_at | numeric | | 1525109899 | -action_result.data.\*.payload.issue.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/243674?v=4 | -action_result.data.\*.payload.issue.assignee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.issue.assignee.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.issue.assignee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.issue.assignee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.issue.assignee.gravatar_id | string | | | -action_result.data.\*.payload.issue.assignee.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.issue.assignee.id | numeric | | 243674 | -action_result.data.\*.payload.issue.assignee.login | string | `github username` | test | -action_result.data.\*.payload.issue.assignee.node_id | string | | MDQ6VXNlcjI0MzY3NA== | -action_result.data.\*.payload.issue.assignee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.issue.assignee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.issue.assignee.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.issue.assignee.site_admin | boolean | | True False | -action_result.data.\*.payload.issue.assignee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.issue.assignee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.issue.assignee.type | string | | User | -action_result.data.\*.payload.issue.assignee.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.issue.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/243674?v=4 | -action_result.data.\*.payload.issue.assignees.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.issue.assignees.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.issue.assignees.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.issue.assignees.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.issue.assignees.\*.gravatar_id | string | | | -action_result.data.\*.payload.issue.assignees.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.issue.assignees.\*.id | numeric | | 243674 | -action_result.data.\*.payload.issue.assignees.\*.login | string | `github username` | test | -action_result.data.\*.payload.issue.assignees.\*.node_id | string | | MDQ6VXNlcjI0MzY3NA== | -action_result.data.\*.payload.issue.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.issue.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.issue.assignees.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.issue.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.issue.assignees.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.issue.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.issue.assignees.\*.type | string | | User | -action_result.data.\*.payload.issue.assignees.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.issue.author_association | string | | CONTRIBUTOR | -action_result.data.\*.payload.issue.body | string | | As spotted here https://github.com/test/test/issues/28001 `$loader->exists('@foo')` shouldn't throw an exception. e.g.: https://github.com/test/test/blob/9bfa971bc5662a6f90408b58a7b2453d7dae4f83/src/test/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php#L145 | -action_result.data.\*.payload.issue.check_run.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | -action_result.data.\*.payload.issue.check_run.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | -action_result.data.\*.payload.issue.check_run.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | -action_result.data.\*.payload.issue.check_run.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | -action_result.data.\*.payload.issue.closed_at | string | | 2018-07-19T19:18:50Z | -action_result.data.\*.payload.issue.comments | numeric | | 0 | -action_result.data.\*.payload.issue.comments_url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/2721/comments | -action_result.data.\*.payload.issue.created_at | string | | 2018-07-19T18:18:50Z | -action_result.data.\*.payload.issue.events_url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/2721/events | -action_result.data.\*.payload.issue.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | -action_result.data.\*.payload.issue.id | numeric | | 342837096 | -action_result.data.\*.payload.issue.labels.\*.color | string | | e10c02 | -action_result.data.\*.payload.issue.labels.\*.default | boolean | | True False | -action_result.data.\*.payload.issue.labels.\*.id | numeric | | 100079 | -action_result.data.\*.payload.issue.labels.\*.name | string | | Bug | -action_result.data.\*.payload.issue.labels.\*.node_id | string | | MDU6TGFiZWwxMDAwNzk= | -action_result.data.\*.payload.issue.labels.\*.url | string | `url` | https://api.github.com/repos/test/test/labels/Bug | -action_result.data.\*.payload.issue.labels_url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/2721/labels{/name} | -action_result.data.\*.payload.issue.locked | boolean | | True False | -action_result.data.\*.payload.issue.milestone.closed_at | string | | 2016-12-06T13:03:12Z | -action_result.data.\*.payload.issue.milestone.closed_issues | numeric | | 146 | -action_result.data.\*.payload.issue.milestone.created_at | string | | 2016-12-06T12:03:12Z | -action_result.data.\*.payload.issue.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/243674?v=4 | -action_result.data.\*.payload.issue.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.issue.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.issue.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.issue.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.issue.milestone.creator.gravatar_id | string | | | -action_result.data.\*.payload.issue.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.issue.milestone.creator.id | numeric | | 243674 | -action_result.data.\*.payload.issue.milestone.creator.login | string | `github username` | test | -action_result.data.\*.payload.issue.milestone.creator.node_id | string | | MDQ6VXNlcjI0MzY3NA== | -action_result.data.\*.payload.issue.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.issue.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.issue.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.issue.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.issue.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.issue.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.issue.milestone.creator.type | string | | User | -action_result.data.\*.payload.issue.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.issue.milestone.description | string | `url` | https://test.com/roadmap?version=2.8#checker | -action_result.data.\*.payload.issue.milestone.due_on | string | | 2018-11-30T08:00:00Z | -action_result.data.\*.payload.issue.milestone.html_url | string | `url` | https://github.com/test/test/milestone/14 | -action_result.data.\*.payload.issue.milestone.id | numeric | | 2178740 | -action_result.data.\*.payload.issue.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/14/labels | -action_result.data.\*.payload.issue.milestone.node_id | string | | MDk6TWlsZXN0b25lMjE3ODc0MA== | -action_result.data.\*.payload.issue.milestone.number | numeric | | 14 | -action_result.data.\*.payload.issue.milestone.open_issues | numeric | | 14 | -action_result.data.\*.payload.issue.milestone.state | string | | open | -action_result.data.\*.payload.issue.milestone.title | string | | 2.8 | -action_result.data.\*.payload.issue.milestone.updated_at | string | | 2018-07-13T20:20:34Z | -action_result.data.\*.payload.issue.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/14 | -action_result.data.\*.payload.issue.node_id | string | | MDExOlB1bGxSZXF1ZXN0MjAyNjQzNTEy | -action_result.data.\*.payload.issue.number | numeric | | 2721 | -action_result.data.\*.payload.issue.pull_request.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | -action_result.data.\*.payload.issue.pull_request.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | -action_result.data.\*.payload.issue.pull_request.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | -action_result.data.\*.payload.issue.pull_request.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | -action_result.data.\*.payload.issue.repository_url | string | `url` | https://api.github.com/repos/twigphp/Twig | -action_result.data.\*.payload.issue.state | string | | open | -action_result.data.\*.payload.issue.title | string | | Don't throw error on validate or parse name if throw var is false | -action_result.data.\*.payload.issue.updated_at | string | | 2018-07-20T05:36:22Z | -action_result.data.\*.payload.issue.url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/2721 | -action_result.data.\*.payload.issue.user.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/2028198?v=4 | -action_result.data.\*.payload.issue.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.issue.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.issue.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.issue.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.issue.user.gravatar_id | string | | | -action_result.data.\*.payload.issue.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.issue.user.id | numeric | | 2028198 | -action_result.data.\*.payload.issue.user.login | string | `github username` | test | -action_result.data.\*.payload.issue.user.node_id | string | | MDQ6VXNlcjIwMjgxOTg= | -action_result.data.\*.payload.issue.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.issue.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.issue.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.issue.user.site_admin | boolean | | True False | -action_result.data.\*.payload.issue.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.issue.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.issue.user.type | string | | User | -action_result.data.\*.payload.issue.user.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | action_result.data.\*.payload.marketplace_purchase.account.id | numeric | | 18404719 | action_result.data.\*.payload.marketplace_purchase.account.login | string | `github username` | test | action_result.data.\*.payload.marketplace_purchase.account.organization_billing_email | string | `email` | username@email.com | @@ -1938,20 +546,47 @@ action_result.data.\*.payload.member.subscriptions_url | string | `url` | https: action_result.data.\*.payload.member.type | string | | User | action_result.data.\*.payload.member.url | string | `url` | https://api.github.com/users/test | action_result.data.\*.payload.number | numeric | | 27999 | -action_result.data.\*.payload.organization.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/38302899?v=4 | -action_result.data.\*.payload.organization.description | string | | sample description | -action_result.data.\*.payload.organization.events_url | string | `url` | https://api.github.com/orgs/Octocoders/events | -action_result.data.\*.payload.organization.hooks_url | string | `url` | https://api.github.com/orgs/Octocoders/hooks | -action_result.data.\*.payload.organization.id | numeric | | 406494157 | -action_result.data.\*.payload.organization.issues_url | string | `url` | https://api.github.com/orgs/Octocoders/issues | +action_result.data.\*.payload.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | +action_result.data.\*.payload.organization.created_at | string | | 2018-07-16T23:02:38Z | +action_result.data.\*.payload.organization.description | string | | | +action_result.data.\*.payload.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | +action_result.data.\*.payload.organization.followers | numeric | | 3 | +action_result.data.\*.payload.organization.following | numeric | | 3 | +action_result.data.\*.payload.organization.has_organization_projects | boolean | | True False | +action_result.data.\*.payload.organization.has_repository_projects | boolean | | True False | +action_result.data.\*.payload.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | +action_result.data.\*.payload.organization.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.organization.id | numeric | | 41309665 | +action_result.data.\*.payload.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | action_result.data.\*.payload.organization.login | string | `github organization name` | test | -action_result.data.\*.payload.organization.members_url | string | `url` | https://api.github.com/orgs/Octocoders/members{/member} | -action_result.data.\*.payload.organization.node_id | string | | MDQ6VXNlcjM5NjUyMzUx | -action_result.data.\*.payload.organization.public_members_url | string | `url` | https://api.github.com/orgs/Octocoders/public_members{/member} | -action_result.data.\*.payload.organization.repos_url | string | `url` | https://api.github.com/users/Octocoders/repos | -action_result.data.\*.payload.organization.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | +action_result.data.\*.payload.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | +action_result.data.\*.payload.organization.public_gists | numeric | | 3 | +action_result.data.\*.payload.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | +action_result.data.\*.payload.organization.public_repos | numeric | | 3 | +action_result.data.\*.payload.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | +action_result.data.\*.payload.organization.type | string | | Organization | +action_result.data.\*.payload.organization.updated_at | string | | 2018-07-16T23:02:38Z | +action_result.data.\*.payload.organization.url | string | `url` | https://api.github.com/orgs/test | action_result.data.\*.payload.pages.\*.action | string | | created | -action_result.data.\*.payload.pages.\*.creator.html_url | string | `url` | https://github.com/test/test-proj/wiki/Home | +action_result.data.\*.payload.pages.\*.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.payload.pages.\*.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.pages.\*.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.pages.\*.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.pages.\*.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.pages.\*.creator.gravatar_id | string | | | +action_result.data.\*.payload.pages.\*.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.pages.\*.creator.id | numeric | | 73419 | +action_result.data.\*.payload.pages.\*.creator.login | string | `github username` | test | +action_result.data.\*.payload.pages.\*.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.payload.pages.\*.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.pages.\*.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.pages.\*.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.pages.\*.creator.site_admin | boolean | | True False | +action_result.data.\*.payload.pages.\*.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.pages.\*.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.pages.\*.creator.type | string | | User | +action_result.data.\*.payload.pages.\*.creator.url | string | `url` | https://api.github.com/users/test | action_result.data.\*.payload.pages.\*.html_url | string | `url` | https://github.com/test/test-proj/wiki/Home | action_result.data.\*.payload.pages.\*.page_name | string | | Home | action_result.data.\*.payload.pages.\*.sha | string | `sha1` | 75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6 | @@ -1960,7 +595,7 @@ action_result.data.\*.payload.pages.\*.title | string | | Home | action_result.data.\*.payload.project.body | string | | Project tasks for a trip to Space | action_result.data.\*.payload.project.columns_url | string | `url` | https://api.github.com/projects/1547122/columns | action_result.data.\*.payload.project.created_at | string | | 2018-05-30T20:18:51Z | -action_result.data.\*.payload.project.creator.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/21031067?v=4 | +action_result.data.\*.payload.project.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | action_result.data.\*.payload.project.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | action_result.data.\*.payload.project.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | action_result.data.\*.payload.project.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | @@ -1990,16 +625,16 @@ action_result.data.\*.payload.project.url | string | `url` | https://api.github. action_result.data.\*.payload.project_card.column_id | numeric | | 2803722 | action_result.data.\*.payload.project_card.column_url | string | `url` | https://api.github.com/projects/columns/2803722 | action_result.data.\*.payload.project_card.created_at | string | | 2018-05-30T20:18:52Z | -action_result.data.\*.payload.project_card.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/243674?v=4 | +action_result.data.\*.payload.project_card.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | action_result.data.\*.payload.project_card.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | action_result.data.\*.payload.project_card.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | action_result.data.\*.payload.project_card.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | action_result.data.\*.payload.project_card.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | action_result.data.\*.payload.project_card.creator.gravatar_id | string | | | action_result.data.\*.payload.project_card.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.project_card.creator.id | numeric | | 243674 | +action_result.data.\*.payload.project_card.creator.id | numeric | | 73419 | action_result.data.\*.payload.project_card.creator.login | string | `github username` | test | -action_result.data.\*.payload.project_card.creator.node_id | string | | MDQ6VXNlcjI0MzY3NA== | +action_result.data.\*.payload.project_card.creator.node_id | string | | MDQ6VXNlcjczNDE5 | action_result.data.\*.payload.project_card.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | action_result.data.\*.payload.project_card.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | action_result.data.\*.payload.project_card.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | @@ -2021,441 +656,7 @@ action_result.data.\*.payload.project_column.node_id | string | | MDEzOlByb2plY3 action_result.data.\*.payload.project_column.project_url | string | `url` | https://api.github.com/projects/1547122 | action_result.data.\*.payload.project_column.updated_at | string | | 2018-05-30T20:18:52Z | action_result.data.\*.payload.project_column.url | string | `url` | https://api.github.com/projects/columns/2803722 | -action_result.data.\*.payload.pull_request.\_links.comments.href | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.pull_request.\_links.commits.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.pull_request.\_links.html.href | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.pull_request.\_links.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.pull_request.\_links.review_comment.href | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.pull_request.\_links.review_comments.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.pull_request.\_links.self.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.pull_request.\_links.statuses.href | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.pull_request.additions | numeric | | 24 | -action_result.data.\*.payload.pull_request.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.pull_request.assignee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.assignee.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.assignee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.assignee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.assignee.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.assignee.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.assignee.id | numeric | | 29939753 | -action_result.data.\*.payload.pull_request.assignee.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.assignee.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.pull_request.assignee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.assignee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.assignee.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.assignee.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.assignee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.assignee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.assignee.type | string | | User | -action_result.data.\*.payload.pull_request.assignee.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.pull_request.assignees.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.assignees.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.assignees.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.assignees.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.assignees.\*.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.assignees.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.assignees.\*.id | numeric | | 29939753 | -action_result.data.\*.payload.pull_request.assignees.\*.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.assignees.\*.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.pull_request.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.assignees.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.assignees.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.assignees.\*.type | string | | User | -action_result.data.\*.payload.pull_request.assignees.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.author_association | string | | CONTRIBUTOR | -action_result.data.\*.payload.pull_request.base.label | string | | test:2.8 | -action_result.data.\*.payload.pull_request.base.ref | string | | 2.8 | -action_result.data.\*.payload.pull_request.base.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.pull_request.base.repo.archived | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.pull_request.base.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.pull_request.base.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.pull_request.base.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.pull_request.base.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.pull_request.base.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.pull_request.base.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.pull_request.base.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}...{head} | -action_result.data.\*.payload.pull_request.base.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.pull_request.base.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.pull_request.base.repo.created_at | string | | 2010-01-04T14:21:21Z | -action_result.data.\*.payload.pull_request.base.repo.default_branch | string | | master | -action_result.data.\*.payload.pull_request.base.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.pull_request.base.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.pull_request.base.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.pull_request.base.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.pull_request.base.repo.fork | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.forks | numeric | | 6330 | -action_result.data.\*.payload.pull_request.base.repo.forks_count | numeric | | 6330 | -action_result.data.\*.payload.pull_request.base.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.pull_request.base.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.pull_request.base.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.pull_request.base.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.pull_request.base.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.pull_request.base.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.pull_request.base.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.pull_request.base.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.pull_request.base.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.pull_request.base.repo.id | numeric | | 458058 | -action_result.data.\*.payload.pull_request.base.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.pull_request.base.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.pull_request.base.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.pull_request.base.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.pull_request.base.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.pull_request.base.repo.language | string | | PHP | -action_result.data.\*.payload.pull_request.base.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.pull_request.base.repo.license.key | string | | mit | -action_result.data.\*.payload.pull_request.base.repo.license.name | string | | MIT License | -action_result.data.\*.payload.pull_request.base.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.pull_request.base.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.pull_request.base.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.pull_request.base.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.pull_request.base.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.pull_request.base.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.pull_request.base.repo.name | string | | test | -action_result.data.\*.payload.pull_request.base.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk0NTgwNTg= | -action_result.data.\*.payload.pull_request.base.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.pull_request.base.repo.open_issues | numeric | | 893 | -action_result.data.\*.payload.pull_request.base.repo.open_issues_count | numeric | | 893 | -action_result.data.\*.payload.pull_request.base.repo.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.pull_request.base.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.base.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.base.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.base.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.base.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.base.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.base.repo.owner.id | numeric | | 143937 | -action_result.data.\*.payload.pull_request.base.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.base.repo.owner.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.pull_request.base.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.base.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.base.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.base.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.base.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.base.repo.owner.type | string | | Organization | -action_result.data.\*.payload.pull_request.base.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.base.repo.private | boolean | | True False | -action_result.data.\*.payload.pull_request.base.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.pull_request.base.repo.pushed_at | string | | 2018-07-19T12:14:02Z | -action_result.data.\*.payload.pull_request.base.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.pull_request.base.repo.size | numeric | | 120647 | -action_result.data.\*.payload.pull_request.base.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.pull_request.base.repo.stargazers_count | numeric | | 18086 | -action_result.data.\*.payload.pull_request.base.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.pull_request.base.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.pull_request.base.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.pull_request.base.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.pull_request.base.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.pull_request.base.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.pull_request.base.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.pull_request.base.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.pull_request.base.repo.updated_at | string | | 2018-07-19T11:54:19Z | -action_result.data.\*.payload.pull_request.base.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.pull_request.base.repo.watchers | numeric | | 18086 | -action_result.data.\*.payload.pull_request.base.repo.watchers_count | numeric | | 18086 | -action_result.data.\*.payload.pull_request.base.sha | string | `sha1` | 08a49bc5302de373bdb44e5c189133a7d5d5f12b | -action_result.data.\*.payload.pull_request.base.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/143937?v=4 | -action_result.data.\*.payload.pull_request.base.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.base.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.base.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.base.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.base.user.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.base.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.base.user.id | numeric | | 143937 | -action_result.data.\*.payload.pull_request.base.user.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.base.user.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw== | -action_result.data.\*.payload.pull_request.base.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.base.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.base.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.base.user.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.base.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.base.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.base.user.type | string | | Organization | -action_result.data.\*.payload.pull_request.base.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.body | string | | Sample body | -action_result.data.\*.payload.pull_request.changed_files | numeric | | 6 | -action_result.data.\*.payload.pull_request.closed_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.pull_request.comments | numeric | | 1 | -action_result.data.\*.payload.pull_request.comments_url | string | `url` | https://api.github.com/repos/test/test/issues/27999/comments | -action_result.data.\*.payload.pull_request.commits | numeric | | 1 | -action_result.data.\*.payload.pull_request.commits_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.pull_request.created_at | string | | 2018-07-19T12:12:54Z | -action_result.data.\*.payload.pull_request.deletions | numeric | | 0 | -action_result.data.\*.payload.pull_request.diff_url | string | `url` | https://github.com/test/test/pull/27999.diff | -action_result.data.\*.payload.pull_request.head.label | string | | test:uuid-translations | -action_result.data.\*.payload.pull_request.head.ref | string | | uuid-translations | -action_result.data.\*.payload.pull_request.head.repo.archive_url | string | `url` | https://api.github.com/repos/test/test/{archive_format}{/ref} | -action_result.data.\*.payload.pull_request.head.repo.archived | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.assignees_url | string | `url` | https://api.github.com/repos/test/test/assignees{/user} | -action_result.data.\*.payload.pull_request.head.repo.blobs_url | string | `url` | https://api.github.com/repos/test/test/git/blobs{/sha} | -action_result.data.\*.payload.pull_request.head.repo.branches_url | string | `url` | https://api.github.com/repos/test/test/branches{/branch} | -action_result.data.\*.payload.pull_request.head.repo.clone_url | string | `url` | https://github.com/test/test.git | -action_result.data.\*.payload.pull_request.head.repo.collaborators_url | string | `url` | https://api.github.com/repos/test/test/collaborators{/collaborator} | -action_result.data.\*.payload.pull_request.head.repo.comments_url | string | `url` | https://api.github.com/repos/test/test/comments{/number} | -action_result.data.\*.payload.pull_request.head.repo.commits_url | string | `url` | https://api.github.com/repos/test/test/commits{/sha} | -action_result.data.\*.payload.pull_request.head.repo.compare_url | string | `url` | https://api.github.com/repos/test/test/compare/{base}...{head} | -action_result.data.\*.payload.pull_request.head.repo.contents_url | string | `url` | https://api.github.com/repos/test/test/contents/{+path} | -action_result.data.\*.payload.pull_request.head.repo.contributors_url | string | `url` | https://api.github.com/repos/test/test/contributors | -action_result.data.\*.payload.pull_request.head.repo.created_at | string | | 2017-02-01T16:32:59Z | -action_result.data.\*.payload.pull_request.head.repo.default_branch | string | | master | -action_result.data.\*.payload.pull_request.head.repo.deployments_url | string | `url` | https://api.github.com/repos/test/test/deployments | -action_result.data.\*.payload.pull_request.head.repo.description | string | | The test PHP framework | -action_result.data.\*.payload.pull_request.head.repo.downloads_url | string | `url` | https://api.github.com/repos/test/test/downloads | -action_result.data.\*.payload.pull_request.head.repo.events_url | string | `url` | https://api.github.com/repos/test/test/events | -action_result.data.\*.payload.pull_request.head.repo.fork | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.forks | numeric | | 1 | -action_result.data.\*.payload.pull_request.head.repo.forks_count | numeric | | 1 | -action_result.data.\*.payload.pull_request.head.repo.forks_url | string | `url` | https://api.github.com/repos/test/test/forks | -action_result.data.\*.payload.pull_request.head.repo.full_name | string | | test/test-repo | -action_result.data.\*.payload.pull_request.head.repo.git_commits_url | string | `url` | https://api.github.com/repos/test/test/git/commits{/sha} | -action_result.data.\*.payload.pull_request.head.repo.git_refs_url | string | `url` | https://api.github.com/repos/test/test/git/refs{/sha} | -action_result.data.\*.payload.pull_request.head.repo.git_tags_url | string | `url` | https://api.github.com/repos/test/test/git/tags{/sha} | -action_result.data.\*.payload.pull_request.head.repo.git_url | string | | git://github.com/test/test.git | -action_result.data.\*.payload.pull_request.head.repo.has_downloads | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.has_issues | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.has_pages | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.has_projects | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.has_wiki | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.pull_request.head.repo.hooks_url | string | `url` | https://api.github.com/repos/test/test/hooks | -action_result.data.\*.payload.pull_request.head.repo.html_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.pull_request.head.repo.id | numeric | | 80639758 | -action_result.data.\*.payload.pull_request.head.repo.issue_comment_url | string | `url` | https://api.github.com/repos/test/test/issues/comments{/number} | -action_result.data.\*.payload.pull_request.head.repo.issue_events_url | string | `url` | https://api.github.com/repos/test/test/issues/events{/number} | -action_result.data.\*.payload.pull_request.head.repo.issues_url | string | `url` | https://api.github.com/repos/test/test/issues{/number} | -action_result.data.\*.payload.pull_request.head.repo.keys_url | string | `url` | https://api.github.com/repos/test/test/keys{/key_id} | -action_result.data.\*.payload.pull_request.head.repo.labels_url | string | `url` | https://api.github.com/repos/test/test/labels{/name} | -action_result.data.\*.payload.pull_request.head.repo.language | string | | PHP | -action_result.data.\*.payload.pull_request.head.repo.languages_url | string | `url` | https://api.github.com/repos/test/test/languages | -action_result.data.\*.payload.pull_request.head.repo.license.key | string | | mit | -action_result.data.\*.payload.pull_request.head.repo.license.name | string | | MIT License | -action_result.data.\*.payload.pull_request.head.repo.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.pull_request.head.repo.license.spdx_id | string | | MIT | -action_result.data.\*.payload.pull_request.head.repo.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.pull_request.head.repo.merges_url | string | `url` | https://api.github.com/repos/test/test/merges | -action_result.data.\*.payload.pull_request.head.repo.milestones_url | string | `url` | https://api.github.com/repos/test/test/milestones{/number} | -action_result.data.\*.payload.pull_request.head.repo.mirror_url | string | `url` | | -action_result.data.\*.payload.pull_request.head.repo.name | string | | test | -action_result.data.\*.payload.pull_request.head.repo.node_id | string | | MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA== | -action_result.data.\*.payload.pull_request.head.repo.notifications_url | string | `url` | https://api.github.com/repos/test/test/notifications{?since,all,participating} | -action_result.data.\*.payload.pull_request.head.repo.open_issues | numeric | | 0 | -action_result.data.\*.payload.pull_request.head.repo.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.pull_request.head.repo.owner.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.pull_request.head.repo.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.head.repo.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.head.repo.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.head.repo.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.head.repo.owner.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.head.repo.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.head.repo.owner.id | numeric | | 1032411 | -action_result.data.\*.payload.pull_request.head.repo.owner.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.head.repo.owner.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.pull_request.head.repo.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.head.repo.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.head.repo.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.head.repo.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.head.repo.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.head.repo.owner.type | string | | User | -action_result.data.\*.payload.pull_request.head.repo.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.head.repo.private | boolean | | True False | -action_result.data.\*.payload.pull_request.head.repo.pulls_url | string | `url` | https://api.github.com/repos/test/test/pulls{/number} | -action_result.data.\*.payload.pull_request.head.repo.pushed_at | string | | 2018-07-19T12:11:30Z | -action_result.data.\*.payload.pull_request.head.repo.releases_url | string | `url` | https://api.github.com/repos/test/test/releases{/id} | -action_result.data.\*.payload.pull_request.head.repo.size | numeric | | 112468 | -action_result.data.\*.payload.pull_request.head.repo.ssh_url | string | | git@github.com:test/test.git | -action_result.data.\*.payload.pull_request.head.repo.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.pull_request.head.repo.stargazers_url | string | `url` | https://api.github.com/repos/test/test/stargazers | -action_result.data.\*.payload.pull_request.head.repo.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/{sha} | -action_result.data.\*.payload.pull_request.head.repo.subscribers_url | string | `url` | https://api.github.com/repos/test/test/subscribers | -action_result.data.\*.payload.pull_request.head.repo.subscription_url | string | `url` | https://api.github.com/repos/test/test/subscription | -action_result.data.\*.payload.pull_request.head.repo.svn_url | string | `url` | https://github.com/test/test | -action_result.data.\*.payload.pull_request.head.repo.tags_url | string | `url` | https://api.github.com/repos/test/test/tags | -action_result.data.\*.payload.pull_request.head.repo.teams_url | string | `url` | https://api.github.com/repos/test/test/teams | -action_result.data.\*.payload.pull_request.head.repo.trees_url | string | `url` | https://api.github.com/repos/test/test/git/trees{/sha} | -action_result.data.\*.payload.pull_request.head.repo.updated_at | string | | 2017-02-01T16:33:18Z | -action_result.data.\*.payload.pull_request.head.repo.url | string | `url` | https://api.github.com/repos/test/test | -action_result.data.\*.payload.pull_request.head.repo.watchers | numeric | | 0 | -action_result.data.\*.payload.pull_request.head.repo.watchers_count | numeric | | 0 | -action_result.data.\*.payload.pull_request.head.sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.pull_request.head.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.pull_request.head.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.head.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.head.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.head.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.head.user.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.head.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.head.user.id | numeric | | 1032411 | -action_result.data.\*.payload.pull_request.head.user.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.head.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.pull_request.head.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.head.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.head.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.head.user.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.head.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.head.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.head.user.type | string | | User | -action_result.data.\*.payload.pull_request.head.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.html_url | string | `url` | https://github.com/test/test/pull/27999 | -action_result.data.\*.payload.pull_request.id | numeric | | 202539219 | -action_result.data.\*.payload.pull_request.issue_url | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.pull_request.labels.\*.color | string | | e10c02 | -action_result.data.\*.payload.pull_request.labels.\*.default | boolean | | True False | -action_result.data.\*.payload.pull_request.labels.\*.id | numeric | | 100079 | -action_result.data.\*.payload.pull_request.labels.\*.name | string | | Bug | -action_result.data.\*.payload.pull_request.labels.\*.node_id | string | | MDU6TGFiZWwxMDAwNzk= | -action_result.data.\*.payload.pull_request.labels.\*.url | string | `url` | https://api.github.com/repos/test/test/labels/Bug | -action_result.data.\*.payload.pull_request.locked | boolean | | True False | -action_result.data.\*.payload.pull_request.maintainer_can_modify | boolean | | True False | -action_result.data.\*.payload.pull_request.merge_commit_sha | string | `sha1` | ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.pull_request.mergeable | boolean | | False True | -action_result.data.\*.payload.pull_request.mergeable_state | string | | unknown | -action_result.data.\*.payload.pull_request.merged | boolean | | True False | -action_result.data.\*.payload.pull_request.merged_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.pull_request.merged_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/47313?v=4 | -action_result.data.\*.payload.pull_request.merged_by.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.merged_by.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.merged_by.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.merged_by.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.merged_by.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.merged_by.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.merged_by.id | numeric | | 47313 | -action_result.data.\*.payload.pull_request.merged_by.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.merged_by.node_id | string | | MDQ6VXNlcjQ3MzEz | -action_result.data.\*.payload.pull_request.merged_by.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.merged_by.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.merged_by.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.merged_by.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.merged_by.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.merged_by.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.merged_by.type | string | | User | -action_result.data.\*.payload.pull_request.merged_by.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.milestone.closed_at | string | | 2018-07-20T11:26:15Z | -action_result.data.\*.payload.pull_request.milestone.closed_issues | numeric | | 879 | -action_result.data.\*.payload.pull_request.milestone.created_at | string | | 2016-11-06T20:24:23Z | -action_result.data.\*.payload.pull_request.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.pull_request.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.milestone.creator.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.milestone.creator.id | numeric | | 73419 | -action_result.data.\*.payload.pull_request.milestone.creator.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.pull_request.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.milestone.creator.type | string | | User | -action_result.data.\*.payload.pull_request.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.milestone.description | string | | Sample description | -action_result.data.\*.payload.pull_request.milestone.due_on | string | | 2020-11-30T08:00:00Z | -action_result.data.\*.payload.pull_request.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | -action_result.data.\*.payload.pull_request.milestone.id | numeric | | 2117464 | -action_result.data.\*.payload.pull_request.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | -action_result.data.\*.payload.pull_request.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | -action_result.data.\*.payload.pull_request.milestone.number | numeric | | 10 | -action_result.data.\*.payload.pull_request.milestone.open_issues | numeric | | 15 | -action_result.data.\*.payload.pull_request.milestone.state | string | | open | -action_result.data.\*.payload.pull_request.milestone.title | string | | 3.4 | -action_result.data.\*.payload.pull_request.milestone.updated_at | string | | 2018-07-19T07:12:02Z | -action_result.data.\*.payload.pull_request.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | -action_result.data.\*.payload.pull_request.node_id | string | | MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5 | -action_result.data.\*.payload.pull_request.number | numeric | | 27999 | -action_result.data.\*.payload.pull_request.patch_url | string | `url` | https://github.com/test/test/pull/27999.patch | -action_result.data.\*.payload.pull_request.rebaseable | boolean | | False True | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/57224?v=4 | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.id | numeric | | 57224 | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.node_id | string | | MDQ6VXNlcjU3MjI0 | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.type | string | | User | -action_result.data.\*.payload.pull_request.requested_reviewers.\*.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pull_request.requested_teams.\*.created_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.pull_request.requested_teams.\*.description | string | | Everybody but Tony | -action_result.data.\*.payload.pull_request.requested_teams.\*.id | numeric | | 2826794 | -action_result.data.\*.payload.pull_request.requested_teams.\*.members_count | numeric | | 2 | -action_result.data.\*.payload.pull_request.requested_teams.\*.members_url | string | `url` | https://api.github.com/teams/2826794/members{/member} | -action_result.data.\*.payload.pull_request.requested_teams.\*.name | string | | not-tony-team | -action_result.data.\*.payload.pull_request.requested_teams.\*.node_id | string | | MDQ6VGVhbTI4MjY3OTQ= | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.created_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.description | string | | | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.followers | numeric | | 3 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.following | numeric | | 3 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.has_organization_projects | boolean | | True False | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.has_repository_projects | boolean | | True False | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.id | numeric | | 41309665 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.login | string | `github organization name` | test | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.public_gists | numeric | | 3 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.public_repos | numeric | | 3 | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.type | string | | Organization | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.updated_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.pull_request.requested_teams.\*.organization.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.payload.pull_request.requested_teams.\*.permission | string | | pull | -action_result.data.\*.payload.pull_request.requested_teams.\*.privacy | string | | closed | -action_result.data.\*.payload.pull_request.requested_teams.\*.repos_count | numeric | | 2 | -action_result.data.\*.payload.pull_request.requested_teams.\*.repositories_url | string | `url` | https://api.github.com/teams/test/repos | -action_result.data.\*.payload.pull_request.requested_teams.\*.slug | string | | not-tony-team | -action_result.data.\*.payload.pull_request.requested_teams.\*.updated_at | string | | 2018-07-16T23:08:17Z | -action_result.data.\*.payload.pull_request.requested_teams.\*.url | string | `url` | https://api.github.com/teams/2826794 | -action_result.data.\*.payload.pull_request.review_comment_url | string | `url` | https://api.github.com/repos/test/test/pulls/comments{/number} | -action_result.data.\*.payload.pull_request.review_comments | numeric | | 0 | -action_result.data.\*.payload.pull_request.review_comments_url | string | `url` | https://api.github.com/repos/test/test/pulls/27999/comments | -action_result.data.\*.payload.pull_request.state | string | | closed | -action_result.data.\*.payload.pull_request.statuses_url | string | `url` | https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252 | -action_result.data.\*.payload.pull_request.title | string | | Sample title | -action_result.data.\*.payload.pull_request.updated_at | string | | 2018-07-19T12:14:03Z | -action_result.data.\*.payload.pull_request.url | string | `url` | https://api.github.com/repos/test/test/pulls/27999 | -action_result.data.\*.payload.pull_request.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.pull_request.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pull_request.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pull_request.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pull_request.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pull_request.user.gravatar_id | string | | | -action_result.data.\*.payload.pull_request.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pull_request.user.id | numeric | | 1032411 | -action_result.data.\*.payload.pull_request.user.login | string | `github username` | test | -action_result.data.\*.payload.pull_request.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.pull_request.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pull_request.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pull_request.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pull_request.user.site_admin | boolean | | True False | -action_result.data.\*.payload.pull_request.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pull_request.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pull_request.user.type | string | | User | -action_result.data.\*.payload.pull_request.user.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | action_result.data.\*.payload.push_id | numeric | | 2731668591 | action_result.data.\*.payload.pusher_type | string | | user | action_result.data.\*.payload.ref | string | | refs/heads/2.8 | @@ -2753,11 +954,11 @@ action_result.data.\*.payload.repository.keys_url | string | `url` | https://api action_result.data.\*.payload.repository.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | action_result.data.\*.payload.repository.language | string | | | action_result.data.\*.payload.repository.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | -action_result.data.\*.payload.repository.license.key | string | | mit | -action_result.data.\*.payload.repository.license.name | string | | MIT License | -action_result.data.\*.payload.repository.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.repository.license.spdx_id | string | | MIT | -action_result.data.\*.payload.repository.license.url | string | `url` | https://api.github.com/licenses/mit | +action_result.data.\*.payload.repository.license.key | string | | apache-2.0 | +action_result.data.\*.payload.repository.license.name | string | | Apache License 2.0 | +action_result.data.\*.payload.repository.license.node_id | string | | MDc6TGljZW5zZIT= | +action_result.data.\*.payload.repository.license.spdx_id | string | | Apache-2.0 | +action_result.data.\*.payload.repository.license.url | string | `url` | https://api.github.com/licenses/apache-2.0 | action_result.data.\*.payload.repository.master_branch | string | | master | action_result.data.\*.payload.repository.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | action_result.data.\*.payload.repository.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | @@ -2767,23 +968,23 @@ action_result.data.\*.payload.repository.node_id | string | | MDEwOlJlcG9zaXRvcn action_result.data.\*.payload.repository.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | action_result.data.\*.payload.repository.open_issues | numeric | | 0 | action_result.data.\*.payload.repository.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.repository.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | +action_result.data.\*.payload.repository.owner.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41409665?v=4 | action_result.data.\*.payload.repository.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | action_result.data.\*.payload.repository.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | action_result.data.\*.payload.repository.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | action_result.data.\*.payload.repository.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | action_result.data.\*.payload.repository.owner.gravatar_id | string | | | action_result.data.\*.payload.repository.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.repository.owner.id | numeric | | 29939753 | +action_result.data.\*.payload.repository.owner.id | numeric | | 41309165 | action_result.data.\*.payload.repository.owner.login | string | `github username` | test | -action_result.data.\*.payload.repository.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.payload.repository.owner.node_id | string | | MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1 | action_result.data.\*.payload.repository.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | action_result.data.\*.payload.repository.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | action_result.data.\*.payload.repository.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | action_result.data.\*.payload.repository.owner.site_admin | boolean | | True False | action_result.data.\*.payload.repository.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | action_result.data.\*.payload.repository.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.repository.owner.type | string | | User | +action_result.data.\*.payload.repository.owner.type | string | | Organization | action_result.data.\*.payload.repository.owner.url | string | `url` | https://api.github.com/users/test | action_result.data.\*.payload.repository.private | boolean | | True False | action_result.data.\*.payload.repository.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | @@ -2806,8 +1007,8 @@ action_result.data.\*.payload.repository.url | string | `url` | https://api.gith action_result.data.\*.payload.repository.watchers | numeric | | 0 | action_result.data.\*.payload.repository.watchers_count | numeric | | 0 | action_result.data.\*.payload.repository_selection | string | | selected | -action_result.data.\*.payload.review.\_links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | -action_result.data.\*.payload.review.\_links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | +action_result.data.\*.payload.review.links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | +action_result.data.\*.payload.review.links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | action_result.data.\*.payload.review.author_association | string | | OWNER | action_result.data.\*.payload.review.body | string | | | action_result.data.\*.payload.review.commit_id | string | | 34c5c7793cb3b279e22454cb6750c80560547b3a | @@ -2859,8 +1060,6 @@ action_result.data.\*.repo.id | numeric | | 141531062 | action_result.data.\*.repo.name | string | `github repo` | test-repo | action_result.data.\*.repo.url | string | `url` | https://api.github.com/repos/test/test-repo | action_result.data.\*.type | string | | CreateEvent | -action_result.summary.total_events | numeric | | 153 | -action_result.message | string | | Total events: 153 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -2882,9 +1081,10 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | action_result.parameter.limit | numeric | | | -action_result.parameter.organization_name | string | `github organization name` | test organization | action_result.data.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29919753?v=4 | action_result.data.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | action_result.data.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | @@ -2903,8 +1103,6 @@ action_result.data.\*.starred_url | string | `url` | https://api.github.com/user action_result.data.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | action_result.data.\*.type | string | | User | action_result.data.\*.url | string | `url` | https://api.github.com/users/test | -action_result.summary.total_users | numeric | | 5 | -action_result.message | string | | Total users: 5 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -2929,13 +1127,12 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.repo_name | string | `github repo` | testrepo | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | Splunk | -action_result.parameter.user | string | `github username` | test | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.user | string | `github username` | | action_result.data.\*.invite_deleted | boolean | | True False | -action_result.summary | string | | | -action_result.message | string | | User test is not a collaborator to repo test/test-repo and any pending invitations deleted | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -2962,12 +1159,13 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.override | boolean | | True False | -action_result.parameter.repo_name | string | `github repo` | testrepo | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | Splunk | -action_result.parameter.role | string | | Pull Push Admin | -action_result.parameter.user | string | `github username` | test | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.user | string | `github username` | | +action_result.parameter.role | string | | | +action_result.parameter.override | boolean | | | action_result.data.\*.collaborator_added | boolean | | True False | action_result.data.\*.created_at | string | | 2018-07-25T12:47:00Z | action_result.data.\*.html_url | string | `url` | https://github.com/test/test-repo/invitations | @@ -3012,8 +1210,6 @@ action_result.data.\*.inviter.url | string | `url` | https://api.github.com/user action_result.data.\*.node_id | string | | MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE= | action_result.data.\*.permissions | string | | admin | action_result.data.\*.url | string | `url` | https://api.github.com/user/repository_invitations/10245401 | -action_result.summary | string | | | -action_result.message | string | | User test added successfully as a collaborator to repo test-organization/test-repo | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3030,23 +1226,22 @@ Parameter 'organization name' is mandatory if the team name is provided instead PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- +**organization_name** | optional | Organization name | string | `github organization name` | **team** | required | Team name or team ID | string | `github team name` `github team id` | **user** | required | Username | string | `github username` | -**organization_name** | optional | Organization name | string | `github organization name` | #### Action Output DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.organization_name | string | `github organization name` | test | -action_result.parameter.team | string | `github team name` `github team id` | 2800753 test team | -action_result.parameter.user | string | `github username` | test | -action_result.data | string | | | -action_result.summary | string | | | -action_result.message | string | | Member with username test successfully removed from Team 2800753 | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.team | string | `github team name` `github team id` | | +action_result.parameter.user | string | `github username` | | +action_result.data.\*.status | string | | success failed | summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 0 1 | +summary.total_objects_successful | numeric | | 1 | ## action: 'add member' @@ -3061,25 +1256,25 @@ Parameter 'organization name' is mandatory if the team name is provided instead PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- +**organization_name** | optional | Organization name | string | `github organization name` | **team** | required | Team name or team ID | string | `github team name` `github team id` | **user** | required | Username | string | `github username` | **role** | optional | Role of the user (Default: Member) | string | | -**organization_name** | optional | Organization name | string | `github organization name` | #### Action Output DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.organization_name | string | `github organization name` | test-org | -action_result.parameter.role | string | | Member Maintainer | -action_result.parameter.team | string | `github team name` `github team id` | new test team 2830072 | -action_result.parameter.user | string | `github username` | test | -action_result.data.\*.role | string | | member maintainer | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.team | string | `github team name` `github team id` | | +action_result.parameter.user | string | `github username` | | +action_result.parameter.role | string | | | action_result.data.\*.state | string | | active pending | +action_result.data.\*.status | string | | success failed | +action_result.data.\*.role | string | | member maintainer | action_result.data.\*.url | string | `url` | https://api.github.com/teams/2830072/memberships/test | -action_result.summary | string | | | -action_result.message | string | | Member with username test123456 successfully added in Team 2800260 with role of maintainer | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3101,21 +1296,20 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | action_result.parameter.limit | numeric | | | -action_result.parameter.organization_name | string | `github organization name` | test | -action_result.data.\*.description | string | | New team | action_result.data.\*.id | numeric | `github team id` | 2825460 | -action_result.data.\*.members_url | string | `url` | https://api.github.com/teams/2825460/members{/member} | action_result.data.\*.name | string | `github team name` | new team | -action_result.data.\*.node_id | string | | MDQ6VGVhbTI4JmcyNjA= | -action_result.data.\*.permission | string | | pull | +action_result.data.\*.description | string | | New team | action_result.data.\*.privacy | string | | closed | +action_result.data.\*.permission | string | | pull | +action_result.data.\*.members_url | string | `url` | https://api.github.com/teams/2825460/members{/member} | +action_result.data.\*.node_id | string | | MDQ6VGVhbTI4JmcyNjA= | action_result.data.\*.repositories_url | string | `url` | https://api.github.com/teams/2825460/repos | action_result.data.\*.slug | string | | new-team | action_result.data.\*.url | string | `url` | https://api.github.com/teams/2825460 | -action_result.summary.total_teams | numeric | | 3 | -action_result.message | string | | Total teams: 3 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3137,9 +1331,17 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | action_result.parameter.limit | numeric | | | -action_result.parameter.organization_name | string | `github organization name` | test | +action_result.data.\*.id | numeric | | 141304012 | +action_result.data.\*.full_name | string | | test/test-repo | +action_result.data.\*.description | string | | Test Repo 1 | +action_result.data.\*.repo_owner | string | `github username` | test | +action_result.data.\*.created_at | string | | 2018-07-16T23:05:00Z | +action_result.data.\*.updated_at | string | | 2018-07-16T23:03:00Z | +action_result.data.\*.private | boolean | | True False | action_result.data.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | action_result.data.\*.archived | boolean | | True False | action_result.data.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | @@ -3152,17 +1354,14 @@ action_result.data.\*.commits_url | string | `url` | https://api.github.com/repo action_result.data.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | action_result.data.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | action_result.data.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | -action_result.data.\*.created_at | string | | 2018-07-16T23:05:00Z | action_result.data.\*.default_branch | string | | master | action_result.data.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | -action_result.data.\*.description | string | | Test Repo 1 | action_result.data.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | action_result.data.\*.fork | boolean | | True False | action_result.data.\*.forks | numeric | | 0 | action_result.data.\*.forks_count | numeric | | 0 | action_result.data.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | -action_result.data.\*.full_name | string | | test/test-repo | action_result.data.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | action_result.data.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | action_result.data.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | @@ -3175,7 +1374,6 @@ action_result.data.\*.has_wiki | boolean | | True False | action_result.data.\*.homepage | string | `url` | | action_result.data.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | action_result.data.\*.html_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.id | numeric | | 141304012 | action_result.data.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | action_result.data.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | action_result.data.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | @@ -3217,7 +1415,6 @@ action_result.data.\*.owner.url | string | `url` | https://api.github.com/users/ action_result.data.\*.permissions.admin | boolean | | True False | action_result.data.\*.permissions.pull | boolean | | True False | action_result.data.\*.permissions.push | boolean | | True False | -action_result.data.\*.private | boolean | | True False | action_result.data.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | action_result.data.\*.pushed_at | string | | 2018-07-16T23:03:58Z | action_result.data.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | @@ -3232,12 +1429,9 @@ action_result.data.\*.svn_url | string | `url` | https://github.com/test/test-re action_result.data.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | action_result.data.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | action_result.data.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | -action_result.data.\*.updated_at | string | | 2018-07-16T23:03:00Z | action_result.data.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | action_result.data.\*.watchers | numeric | | 0 | action_result.data.\*.watchers_count | numeric | | 0 | -action_result.summary.total_repos | numeric | | 3 | -action_result.message | string | | Total repos: 3 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3258,22 +1452,21 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | +action_result.status | string | | success failure | +action_result.message | string | | | action_result.parameter.limit | numeric | | | -action_result.data.\*.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41301665?v=4 | +action_result.data.\*.id | numeric | | 41301665 | +action_result.data.\*.login | string | `github organization name` | test | action_result.data.\*.description | string | | | +action_result.data.\*.url | string | `url` | https://api.github.com/orgs/test | +action_result.data.\*.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41301665?v=4 | action_result.data.\*.events_url | string | `url` | https://api.github.com/orgs/test/events | action_result.data.\*.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.id | numeric | | 41301665 | action_result.data.\*.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.login | string | `github organization name` | test | action_result.data.\*.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | action_result.data.\*.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | action_result.data.\*.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | action_result.data.\*.repos_url | string | `url` | https://api.github.com/orgs/test/repos | -action_result.data.\*.url | string | `url` | https://api.github.com/orgs/test | -action_result.summary.total_organizations | numeric | | 2 | -action_result.message | string | | Total organizations: 2 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3296,10 +1489,11 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | action_result.parameter.limit | numeric | | | -action_result.parameter.repo_name | string | `github repo` | testrepo | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | Splunk | action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/id | action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/username/events{/privacy} | action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/username/followers | @@ -3353,7 +1547,39 @@ action_result.data.\*.labels.\*.node_id | string | | LAKSJDOIWsase= | action_result.data.\*.labels.\*.url | string | `url` | https://api.github.com/repos/owner/repo/labels/enhancement | action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/username/testrepo/issues/4/labels{/name} | action_result.data.\*.locked | boolean | | True False | -action_result.data.\*.milestone | string | | | +action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | +action_result.data.\*.milestone.closed_issues | numeric | | 879 | +action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | +action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.milestone.creator.gravatar_id | string | | | +action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.milestone.creator.id | numeric | | 73419 | +action_result.data.\*.milestone.creator.login | string | `github username` | test | +action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.milestone.creator.site_admin | boolean | | True False | +action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.milestone.creator.type | string | | User | +action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.milestone.description | string | | Sample description | +action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | +action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | +action_result.data.\*.milestone.id | numeric | | 2117464 | +action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | +action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | +action_result.data.\*.milestone.number | numeric | | 10 | +action_result.data.\*.milestone.open_issues | numeric | | 15 | +action_result.data.\*.milestone.state | string | | open | +action_result.data.\*.milestone.title | string | | 3.4 | +action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | +action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | action_result.data.\*.node_id | string | | LAKSJDOIWsase= | action_result.data.\*.number | numeric | `github issue id` | 4 | action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/username/testrepo | @@ -3379,8 +1605,6 @@ action_result.data.\*.user.starred_url | string | `url` | https://api.github.com action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/username/subscriptions | action_result.data.\*.user.type | string | | User | action_result.data.\*.user.url | string | `url` | https://api.github.com/users/username | -action_result.summary.total_issues | numeric | | 2 | -action_result.message | string | | Total issues: 2 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3404,11 +1628,12 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.issue_number | numeric | `github issue id` | 1 | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | action_result.parameter.limit | numeric | | | -action_result.parameter.repo_name | string | `github repo` | TestingAPI | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | repoowner | action_result.data.\*.author_association | string | | OWNER | action_result.data.\*.body | string | | I am writing a comment to this issue | action_result.data.\*.created_at | string | | 2019-07-16T19:52:27Z | @@ -3436,8 +1661,6 @@ action_result.data.\*.user.starred_url | string | `url` | https://api.github.com action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | action_result.data.\*.user.type | string | | User | action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | -action_result.summary.total_comments | numeric | | 1 | -action_result.message | string | | Total comments: 1 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3460,10 +1683,11 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.issue_number | numeric | `github issue id` | 1 | -action_result.parameter.repo_name | string | `github repo` | TestingAPI | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | repoowner | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | @@ -3503,7 +1727,24 @@ action_result.data.\*.assignees.\*.url | string | `url` | https://api.github.com action_result.data.\*.author_association | string | | OWNER | action_result.data.\*.body | string | | This is the body I believe of the issue | action_result.data.\*.closed_at | string | | | -action_result.data.\*.closed_by | string | | | +action_result.data.\*.closed_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | +action_result.data.\*.closed_by.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | +action_result.data.\*.closed_by.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | +action_result.data.\*.closed_by.following_url | string | `url` | https://api.github.com/users/testbg11/following{/other_user} | +action_result.data.\*.closed_by.gists_url | string | `url` | https://api.github.com/users/testbg11/gists{/gist_id} | +action_result.data.\*.closed_by.gravatar_id | string | | | +action_result.data.\*.closed_by.html_url | string | `url` | https://github.com/testbg11 | +action_result.data.\*.closed_by.id | numeric | | 53362718 | +action_result.data.\*.closed_by.login | string | `github username` | testbg11 | +action_result.data.\*.closed_by.node_id | string | | MDQ6VXNlcjUzMzYyNzE4 | +action_result.data.\*.closed_by.organizations_url | string | `url` | https://api.github.com/users/testbg11/orgs | +action_result.data.\*.closed_by.received_events_url | string | `url` | https://api.github.com/users/testbg11/received_events | +action_result.data.\*.closed_by.repos_url | string | `url` | https://api.github.com/users/testbg11/repos | +action_result.data.\*.closed_by.site_admin | boolean | | True False | +action_result.data.\*.closed_by.starred_url | string | `url` | https://api.github.com/users/testbg11/starred{/owner}{/repo} | +action_result.data.\*.closed_by.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | +action_result.data.\*.closed_by.type | string | | User | +action_result.data.\*.closed_by.url | string | `url` | https://api.github.com/users/testbg11 | action_result.data.\*.comments | numeric | | 1 | action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments | action_result.data.\*.created_at | string | | 2019-07-16T19:52:15Z | @@ -3512,7 +1753,39 @@ action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/T action_result.data.\*.id | numeric | | 468834090 | action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name} | action_result.data.\*.locked | boolean | | True False | -action_result.data.\*.milestone | string | | | +action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | +action_result.data.\*.milestone.closed_issues | numeric | | 879 | +action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | +action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.milestone.creator.gravatar_id | string | | | +action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.milestone.creator.id | numeric | | 73419 | +action_result.data.\*.milestone.creator.login | string | `github username` | test | +action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.milestone.creator.site_admin | boolean | | True False | +action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.milestone.creator.type | string | | User | +action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.milestone.description | string | | Sample description | +action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | +action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | +action_result.data.\*.milestone.id | numeric | | 2117464 | +action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | +action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | +action_result.data.\*.milestone.number | numeric | | 10 | +action_result.data.\*.milestone.open_issues | numeric | | 15 | +action_result.data.\*.milestone.state | string | | open | +action_result.data.\*.milestone.title | string | | 3.4 | +action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | +action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | action_result.data.\*.node_id | string | | MDU6SXNzdWU0Njg4MzQwOTA= | action_result.data.\*.number | numeric | `github issue id` | 1 | action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI | @@ -3538,9 +1811,6 @@ action_result.data.\*.user.starred_url | string | `url` | https://api.github.com action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | action_result.data.\*.user.type | string | | User | action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | -action_result.summary.issue_number | numeric | | 2 | -action_result.summary.issue_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2 | -action_result.message | string | | | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3569,13 +1839,14 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.assignees | string | `github username` | repoowner | -action_result.parameter.issue_body | string | | This is what the body looks like when testing from the app | -action_result.parameter.issue_title | string | | I am testing from the app | -action_result.parameter.labels | string | | test,multi-label,non-urgent | -action_result.parameter.repo_name | string | `github repo` | TestingAPI | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | repoowner | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_title | string | | | +action_result.parameter.issue_body | string | | | +action_result.parameter.assignees | string | `github username` | | +action_result.parameter.labels | string | | | action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | @@ -3615,7 +1886,24 @@ action_result.data.\*.assignees.\*.url | string | `url` | https://api.github.com action_result.data.\*.author_association | string | | OWNER | action_result.data.\*.body | string | | This is what the body looks like when testing from the app | action_result.data.\*.closed_at | string | | | -action_result.data.\*.closed_by | string | | | +action_result.data.\*.closed_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | +action_result.data.\*.closed_by.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | +action_result.data.\*.closed_by.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | +action_result.data.\*.closed_by.following_url | string | `url` | https://api.github.com/users/testbg11/following{/other_user} | +action_result.data.\*.closed_by.gists_url | string | `url` | https://api.github.com/users/testbg11/gists{/gist_id} | +action_result.data.\*.closed_by.gravatar_id | string | | | +action_result.data.\*.closed_by.html_url | string | `url` | https://github.com/testbg11 | +action_result.data.\*.closed_by.id | numeric | | 53362718 | +action_result.data.\*.closed_by.login | string | `github username` | testbg11 | +action_result.data.\*.closed_by.node_id | string | | MDQ6VXNlcjUzMzYyNzE4 | +action_result.data.\*.closed_by.organizations_url | string | `url` | https://api.github.com/users/testbg11/orgs | +action_result.data.\*.closed_by.received_events_url | string | `url` | https://api.github.com/users/testbg11/received_events | +action_result.data.\*.closed_by.repos_url | string | `url` | https://api.github.com/users/testbg11/repos | +action_result.data.\*.closed_by.site_admin | boolean | | True False | +action_result.data.\*.closed_by.starred_url | string | `url` | https://api.github.com/users/testbg11/starred{/owner}{/repo} | +action_result.data.\*.closed_by.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | +action_result.data.\*.closed_by.type | string | | User | +action_result.data.\*.closed_by.url | string | `url` | https://api.github.com/users/testbg11 | action_result.data.\*.comments | numeric | | 0 | action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments | action_result.data.\*.created_at | string | | 2019-07-16T20:07:26Z | @@ -3630,7 +1918,39 @@ action_result.data.\*.labels.\*.node_id | string | | MDU6TGFiZWwxNDU0NDY5OTI5 | action_result.data.\*.labels.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/labels/test | action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name} | action_result.data.\*.locked | boolean | | True False | -action_result.data.\*.milestone | string | | | +action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | +action_result.data.\*.milestone.closed_issues | numeric | | 879 | +action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | +action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.milestone.creator.gravatar_id | string | | | +action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.milestone.creator.id | numeric | | 73419 | +action_result.data.\*.milestone.creator.login | string | `github username` | test | +action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.milestone.creator.site_admin | boolean | | True False | +action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.milestone.creator.type | string | | User | +action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.milestone.description | string | | Sample description | +action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | +action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | +action_result.data.\*.milestone.id | numeric | | 2117464 | +action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | +action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | +action_result.data.\*.milestone.number | numeric | | 10 | +action_result.data.\*.milestone.open_issues | numeric | | 15 | +action_result.data.\*.milestone.state | string | | open | +action_result.data.\*.milestone.title | string | | 3.4 | +action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | +action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | action_result.data.\*.node_id | string | | MDU6SXNzdWU0Njg4NDAwMTQ= | action_result.data.\*.number | numeric | `github issue id` | 2 | action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI | @@ -3656,9 +1976,6 @@ action_result.data.\*.user.starred_url | string | `url` | https://api.github.com action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | action_result.data.\*.user.type | string | | User | action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | -action_result.summary.issue_number | numeric | | 2 | -action_result.summary.issue_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2 | -action_result.message | string | | Issue number: 2, Issue url: https://github.com/repoowner/TestingAPI/issues/2 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3690,16 +2007,17 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.assignees | string | `github username` | testbg11 | -action_result.parameter.issue_body | string | | test update body | -action_result.parameter.issue_number | numeric | `github issue id` | 1 | -action_result.parameter.issue_title | string | | update test title | -action_result.parameter.labels | string | | demo_update | -action_result.parameter.repo_name | string | `github repo` | Testing1 | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | testbg11 | -action_result.parameter.state | string | | closed | -action_result.parameter.to_empty | boolean | | True False | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | +action_result.parameter.state | string | | | +action_result.parameter.issue_title | string | | | +action_result.parameter.issue_body | string | | | +action_result.parameter.assignees | string | `github username` | | +action_result.parameter.labels | string | | | +action_result.parameter.to_empty | boolean | | | action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | @@ -3771,7 +2089,39 @@ action_result.data.\*.labels.\*.node_id | string | | MDU6TGFiZWwxNDc0MTk0MTYy | action_result.data.\*.labels.\*.url | string | `url` | https://api.github.com/repos/testbg11/Testing1/labels/demo_update | action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/testbg11/Testing1/issues/1/labels{/name} | action_result.data.\*.locked | boolean | | True False | -action_result.data.\*.milestone | string | | | +action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | +action_result.data.\*.milestone.closed_issues | numeric | | 879 | +action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | +action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.milestone.creator.gravatar_id | string | | | +action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.milestone.creator.id | numeric | | 73419 | +action_result.data.\*.milestone.creator.login | string | `github username` | test | +action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.milestone.creator.site_admin | boolean | | True False | +action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.milestone.creator.type | string | | User | +action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.milestone.description | string | | Sample description | +action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | +action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | +action_result.data.\*.milestone.id | numeric | | 2117464 | +action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | +action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | +action_result.data.\*.milestone.number | numeric | | 10 | +action_result.data.\*.milestone.open_issues | numeric | | 15 | +action_result.data.\*.milestone.state | string | | open | +action_result.data.\*.milestone.title | string | | 3.4 | +action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | +action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | action_result.data.\*.node_id | string | | MDU6SXNzdWU0NzM2MDE5Nzk= | action_result.data.\*.number | numeric | `github issue id` | 1 | action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/testbg11/Testing1 | @@ -3797,9 +2147,6 @@ action_result.data.\*.user.starred_url | string | `url` | https://api.github.com action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | action_result.data.\*.user.type | string | | User | action_result.data.\*.user.url | string | `url` | https://api.github.com/users/testbg11 | -action_result.summary.issue_number | numeric | | 1 | -action_result.summary.issue_url | string | `url` | https://github.com/testbg11/Testing1/issues/1 | -action_result.message | string | | Issue number: 1, Issue url: https://github.com/testbg11/Testing1/issues/1 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3823,11 +2170,12 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.comment_body | string | | I am adding a comment from the app | -action_result.parameter.issue_number | numeric | `github issue id` | 2 | -action_result.parameter.repo_name | string | `github repo` | TestingAPI | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | repoowner | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | +action_result.parameter.comment_body | string | | | action_result.data.\*.author_association | string | | OWNER | action_result.data.\*.body | string | | I am adding a comment from the app | action_result.data.\*.created_at | string | | 2019-07-16T20:11:38Z | @@ -3855,9 +2203,6 @@ action_result.data.\*.user.starred_url | string | `url` | https://api.github.com action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | action_result.data.\*.user.type | string | | User | action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | -action_result.summary.comment_id | numeric | | 511967194 | -action_result.summary.comment_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194 | -action_result.message | string | | Comment id: 511967194, Comment url: https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3883,19 +2228,61 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- -action_result.status | string | | success failed | -action_result.parameter.issue_number | numeric | `github issue id` | 1 | -action_result.parameter.labels | string | | test,Splunk,app-testing | -action_result.parameter.repo_name | string | `github repo` | TestingAPI | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | repoowner | +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | +action_result.parameter.labels | string | | | action_result.data.\*.color | string | | ededed | action_result.data.\*.default | boolean | | True False | action_result.data.\*.id | numeric | | 1454479580 | action_result.data.\*.name | string | | app-testing | action_result.data.\*.node_id | string | | MDU6TGFiZWwxNDU0NDc5NTgw | action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing | -action_result.summary | string | | | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'make request' + +Execute an arbitrary HTTP request against the GitHub API. + +Handles all three authentication modes configured on the asset: +username/password basic auth, personal access token, and OAuth Bearer token. +The endpoint is appended to https://api.github.com — do not include the base URL. + +Type: **generic**
+Read only: **False** + +'make request' action for the app. Used to handle arbitrary HTTP requests with the app's asset + +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**http_method** | required | The HTTP method to use for the request. | string | | +**endpoint** | required | GitHub API endpoint path appended to https://api.github.com. Do not include the base URL. Examples: '/user', '/repos/owner/name/issues', '/orgs/my-org/teams', '/repos/owner/name/issues/1/labels'. | string | | +**headers** | optional | The headers to send with the request (JSON object). An example is {'Content-Type': 'application/json'} | string | | +**query_parameters** | optional | Parameters to append to the URL (JSON object or query string). An example is ?key=value&key2=value2 | string | | +**body** | optional | The body to send with the request (JSON object). An example is {'key': 'value', 'key2': 'value2'} | string | | +**timeout** | optional | The timeout for the request in seconds. | numeric | | +**verify_ssl** | optional | Whether to verify the SSL certificate. Default is False. | boolean | | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | action_result.message | string | | | +action_result.parameter.http_method | string | | | +action_result.parameter.endpoint | string | | | +action_result.parameter.headers | string | | | +action_result.parameter.query_parameters | string | | | +action_result.parameter.body | string | | | +action_result.parameter.timeout | numeric | | | +action_result.parameter.verify_ssl | boolean | | | +action_result.data.\*.status_code | numeric | | 200 404 500 | +action_result.data.\*.response_body | string | | {"key": "value"} | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -3903,7 +2290,7 @@ ______________________________________________________________________ Auto-generated Splunk SOAR Connector documentation. -Copyright 2025 Splunk Inc. +Copyright 2026 Splunk Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/__init__.py b/__init__.py deleted file mode 100644 index 8c989b5..0000000 --- a/__init__.py +++ /dev/null @@ -1,14 +0,0 @@ -# File: __init__.py -# -# Copyright (c) 2019-2025 Splunk Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under -# the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, -# either express or implied. See the License for the specific language governing permissions -# and limitations under the License. diff --git a/github.json b/github.json deleted file mode 100644 index 6759131..0000000 --- a/github.json +++ /dev/null @@ -1,31239 +0,0 @@ -{ - "appid": "5553a13b-ca44-4d03-ac48-293fce874001", - "name": "GitHub", - "description": "This app integrates with GitHub to support various investigative and issue-based actions", - "type": "information", - "product_vendor": "Microsoft", - "logo": "logo_github.svg", - "logo_dark": "logo_github_dark.svg", - "product_name": "GitHub", - "product_version_regex": ".*", - "publisher": "Splunk", - "license": "Copyright (c) 2019-2025 Splunk Inc.", - "app_version": "2.1.2", - "python_version": "3.9, 3.13", - "fips_compliant": true, - "utctime_updated": "2025-09-05T16:34:33.381906Z", - "package_name": "phantom_github", - "main_module": "github_connector.py", - "min_phantom_version": "5.5.0", - "app_wizard_version": "1.0.0", - "latest_tested_versions": [ - "v1 2023-04-10" - ], - "rest_handler": "github_connector._handle_rest_request", - "configuration": { - "username": { - "description": "Username", - "data_type": "string", - "order": 0 - }, - "password": { - "description": "Password", - "data_type": "password", - "order": 1 - }, - "client_id": { - "description": "Client ID", - "data_type": "string", - "order": 2 - }, - "client_secret": { - "description": "Client secret", - "data_type": "password", - "order": 3 - }, - "personal_access_token": { - "description": "Personal access token", - "data_type": "password", - "order": 4 - } - }, - "actions": [ - { - "action": "test connectivity", - "identifier": "test_connectivity", - "description": "Validate the asset configuration for connectivity using supplied configuration", - "type": "test", - "read_only": true, - "parameters": {}, - "output": [], - "versions": "EQ(*)" - }, - { - "action": "list events", - "identifier": "list_events", - "description": "List events performed by a user", - "verbose": "Action will list a maximum of 300 events. Only events from the past 90 days will be listed.", - "type": "investigate", - "read_only": true, - "parameters": { - "username": { - "description": "Username", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github username" - ], - "order": 0 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.username", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.actor.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars.githubusercontent.com/u/41301719?" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.actor.display_login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.actor.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.actor.id", - "data_type": "numeric", - "example_values": [ - 41301719 - ] - }, - { - "data_path": "action_result.data.*.actor.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.actor.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-19T06:26:57Z" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "string", - "example_values": [ - "7987124418" - ] - }, - { - "data_path": "action_result.data.*.org.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars.githubusercontent.com/u/41301665?" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.org.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.org.id", - "data_type": "numeric", - "example_values": [ - 41301665 - ] - }, - { - "data_path": "action_result.data.*.org.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ] - }, - { - "data_path": "action_result.data.*.org.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.action", - "data_type": "string", - "example_values": [ - "added" - ] - }, - { - "data_path": "action_result.data.*.payload.after", - "data_type": "string", - "example_values": [ - "286996c9d9bf535e9e2de7cb3bb11a7a67dc1c61" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.affected_package_name", - "data_type": "string", - "example_values": [ - "many_versioned_gem" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.affected_range", - "data_type": "string", - "example_values": [ - "0.2.0" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismiss_reason", - "data_type": "string", - "example_values": [ - "No bandwidth to fix this" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismissed_at", - "data_type": "string", - "example_values": [ - "2017-10-25T00:00:00+00:00" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.dismisser.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/octocat" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.external_identifier", - "data_type": "string", - "example_values": [ - "CVE-2018-3728" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.external_reference", - "data_type": "string", - "example_values": [ - "https://nvd.nist.gov/vuln/detail/CVE-2018-3728" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.fixed_in", - "data_type": "string", - "example_values": [ - "0.2.5" - ] - }, - { - "data_path": "action_result.data.*.payload.alert.id", - "data_type": "numeric", - "example_values": [ - 7649605 - ] - }, - { - "data_path": "action_result.data.*.payload.base_ref", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.before", - "data_type": "string", - "example_values": [ - "286996c9d9bf535e9ebde7cb3bb11a7a67dcbc6b" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars2.githubusercontent.com/u/39652351?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.blocked_user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.id", - "data_type": "numeric", - "example_values": [ - 406494157 - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjM5NjUyMzUx" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.blocked_user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.changes.body.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.color.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.description.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.due_on.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.name.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.name.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.note.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.permission.from", - "data_type": "string", - "example_values": [ - "write" - ] - }, - { - "data_path": "action_result.data.*.payload.changes.privacy.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.changes.repository.permissions.from.admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.changes.repository.permissions.from.pull", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.changes.repository.permissions.from.push", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.changes.title.from", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.app.created_at", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.app.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.app.external_url", - "data_type": "string", - "example_values": [ - "http://super-duper.example.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/apps/super-duper" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.id", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.name", - "data_type": "string", - "example_values": [ - "Super Duper" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.node_id", - "data_type": "string", - "example_values": [ - "MDExOkludGVncmF0aW9uMQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.avatar_url", - "data_type": "string", - "example_values": [ - "http://alambic.github.com/avatars/u/340?" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.id", - "data_type": "numeric", - "example_values": [ - 340 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.app.updated_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.after", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.created_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.external_url", - "data_type": "string", - "example_values": [ - "http://super-duper.example.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/apps/super-duper" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.id", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.name", - "data_type": "string", - "example_values": [ - "Super Duper" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.node_id", - "data_type": "string", - "example_values": [ - "MDExOkludGVncmF0aW9uMQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.avatar_url", - "data_type": "string", - "example_values": [ - "http://api.github.com/avatars/u/340?" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.id", - "data_type": "numeric", - "example_values": [ - 340 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.app.updated_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.before", - "data_type": "string", - "example_values": [ - "146e867f55c26428e5f9fade55a9bbf5e95a7912" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.check_runs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.conclusion", - "data_type": "string", - "example_values": [ - "neutral" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.created_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.author.email", - "data_type": "string", - "example_values": [ - "test@user.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.author.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.committer.email", - "data_type": "string", - "example_values": [ - "test@user.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.committer.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.id", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.message", - "data_type": "string", - "example_values": [ - "Sample message" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.timestamp", - "data_type": "string", - "example_values": [ - "2018-05-04T01:14:46Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_commit.tree_id", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.head_sha", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.id", - "data_type": "numeric", - "example_values": [ - 5 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.latest_check_runs_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.latest_check_runs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.commits.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.html.href", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.issue.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.review_comment.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.review_comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.self.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*._links.statuses.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.additions", - "data_type": "numeric", - "example_values": [ - 24 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.author_association", - "data_type": "string", - "example_values": [ - "CONTRIBUTOR" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.label", - "data_type": "string", - "example_values": [ - "test:2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.ref", - "data_type": "string", - "example_values": [ - "2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}..{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.created_at", - "data_type": "string", - "example_values": [ - "2010-01-04T14:21:21Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.forks", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.id", - "data_type": "numeric", - "example_values": [ - 458058 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk0NTgwNTg=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.size", - "data_type": "numeric", - "example_values": [ - 120647 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T11:54:19Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.watchers", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.sha", - "data_type": "string", - "example_values": [ - "08a49bc5302de373bdb44e5c189133a7d5d5f12b" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.base.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.body", - "data_type": "string", - "example_values": [ - "pull requests sample body" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.changed_files", - "data_type": "numeric", - "example_values": [ - 6 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.commits", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:12:54Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.deletions", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.diff_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.diff" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.label", - "data_type": "string", - "example_values": [ - "test:uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.ref", - "data_type": "string", - "example_values": [ - "uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}..{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.created_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:32:59Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.forks", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.id", - "data_type": "numeric", - "example_values": [ - 80639758 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:11:30Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.size", - "data_type": "numeric", - "example_values": [ - 112468 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.updated_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:33:18Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.head.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.id", - "data_type": "numeric", - "example_values": [ - 202539219 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.labels.*.color", - "data_type": "string", - "example_values": [ - "e10c02" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.labels.*.id", - "data_type": "numeric", - "example_values": [ - 100079 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.labels.*.name", - "data_type": "string", - "example_values": [ - "Bug" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxMDAwNzk=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels/Bug" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.maintainer_can_modify", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merge_commit_sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.mergeable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.mergeable_state", - "data_type": "string", - "example_values": [ - "unknown" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/47313?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.id", - "data_type": "numeric", - "example_values": [ - 47313 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQ3MzEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.merged_by.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-20T11:26:15Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.closed_issues", - "data_type": "numeric", - "example_values": [ - 879 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.created_at", - "data_type": "string", - "example_values": [ - "2016-11-06T20:24:23Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/73419?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.id", - "data_type": "numeric", - "example_values": [ - 73419 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjczNDE5" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.description", - "data_type": "string", - "example_values": [ - "https://test.com/roadmap?version=3.4#checker" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.due_on", - "data_type": "string", - "example_values": [ - "2020-11-30T08:00:00Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/milestone/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.id", - "data_type": "numeric", - "example_values": [ - 2117464 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10/labels" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.node_id", - "data_type": "string", - "example_values": [ - "MDk6TWlsZXN0b25lMjExNzQ2NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.number", - "data_type": "numeric", - "example_values": [ - 10 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.open_issues", - "data_type": "numeric", - "example_values": [ - 15 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.title", - "data_type": "string", - "example_values": [ - "3.4" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T07:12:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.milestone.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.node_id", - "data_type": "string", - "example_values": [ - "MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.number", - "data_type": "numeric", - "example_values": [ - 27999 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.patch_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.patch" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.rebaseable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars2.githubusercontent.com/u/57224?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.id", - "data_type": "numeric", - "example_values": [ - 57224 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjU3MjI0" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_reviewers.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.description", - "data_type": "string", - "example_values": [ - "Everybody but Tony" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.id", - "data_type": "numeric", - "example_values": [ - 2826794 - ], - "contains": [ - "github team id" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.members_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.name", - "data_type": "string", - "example_values": [ - "not-tony-team" - ], - "contains": [ - "github team name" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VGVhbTI4MjY3OTQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/41309665?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.followers", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.following", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.has_organization_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.has_repository_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.id", - "data_type": "numeric", - "example_values": [ - 41309665 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/issues" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.public_gists", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.public_members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/public_members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.public_repos", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.organization.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.permission", - "data_type": "string", - "example_values": [ - "pull" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.privacy", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.repos_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.repositories_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.slug", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.requested_teams.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.review_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.review_comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.review_comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.state", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.title", - "data_type": "string", - "example_values": [ - "Sample title" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.pull_requests.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.status", - "data_type": "string", - "example_values": [ - "completed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.updated_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.check_suite.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-suites/5" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.completed_at", - "data_type": "string", - "example_values": [ - "2018-05-04T01:14:52Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.conclusion", - "data_type": "string", - "example_values": [ - "neutral" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.external_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.head_sha", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/test/test-repo/runs/4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.id", - "data_type": "numeric", - "example_values": [ - 4 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.name", - "data_type": "string", - "example_values": [ - "randscape" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.output.annotations_count", - "data_type": "numeric", - "example_values": [ - 12 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.output.annotations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-runs/4/annotations" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.output.summary", - "data_type": "string", - "example_values": [ - "It's all good" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.output.text", - "data_type": "string", - "example_values": [ - "Sample text" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.output.title", - "data_type": "string", - "example_values": [ - "Report" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.commits.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.html.href", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.issue.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.review_comment.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.review_comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.self.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*._links.statuses.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.additions", - "data_type": "numeric", - "example_values": [ - 24 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.author_association", - "data_type": "string", - "example_values": [ - "CONTRIBUTOR" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.label", - "data_type": "string", - "example_values": [ - "test:2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.ref", - "data_type": "string", - "example_values": [ - "2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.created_at", - "data_type": "string", - "example_values": [ - "2010-01-04T14:21:21Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.forks", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.id", - "data_type": "numeric", - "example_values": [ - 458058 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk0NTgwNTg=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.size", - "data_type": "numeric", - "example_values": [ - 120647 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T11:54:19Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.watchers", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.sha", - "data_type": "string", - "example_values": [ - "08a49bc5302de373bdb44e5c189133a7d5d5f12b" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.base.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.body", - "data_type": "string", - "example_values": [ - "Sample body" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.changed_files", - "data_type": "numeric", - "example_values": [ - 6 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.commits", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:12:54Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.deletions", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.diff_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.diff" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.label", - "data_type": "string", - "example_values": [ - "test:uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.ref", - "data_type": "string", - "example_values": [ - "uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.created_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:32:59Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.forks", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.id", - "data_type": "numeric", - "example_values": [ - 80639758 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:11:30Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.size", - "data_type": "numeric", - "example_values": [ - 112468 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.updated_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:33:18Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.head.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.id", - "data_type": "numeric", - "example_values": [ - 202539219 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.labels.*.color", - "data_type": "string", - "example_values": [ - "e10c02" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.labels.*.id", - "data_type": "numeric", - "example_values": [ - 100079 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.labels.*.name", - "data_type": "string", - "example_values": [ - "Bug" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxMDAwNzk=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels/Bug" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.maintainer_can_modify", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merge_commit_sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.mergeable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.mergeable_state", - "data_type": "string", - "example_values": [ - "unknown" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/47313?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.id", - "data_type": "numeric", - "example_values": [ - 47313 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQ3MzEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.merged_by.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-20T11:26:15Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.closed_issues", - "data_type": "numeric", - "example_values": [ - 879 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.created_at", - "data_type": "string", - "example_values": [ - "2016-11-06T20:24:23Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/73419?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.id", - "data_type": "numeric", - "example_values": [ - 73419 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjczNDE5" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.description", - "data_type": "string", - "example_values": [ - "https://test.com/roadmap?version=3.4#checker" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.due_on", - "data_type": "string", - "example_values": [ - "2020-11-30T08:00:00Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/milestone/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.id", - "data_type": "numeric", - "example_values": [ - 2117464 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10/labels" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.node_id", - "data_type": "string", - "example_values": [ - "MDk6TWlsZXN0b25lMjExNzQ2NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.number", - "data_type": "numeric", - "example_values": [ - 10 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.open_issues", - "data_type": "numeric", - "example_values": [ - 15 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.title", - "data_type": "string", - "example_values": [ - "3.4" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T07:12:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.milestone.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.node_id", - "data_type": "string", - "example_values": [ - "MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.number", - "data_type": "numeric", - "example_values": [ - 27999 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.patch_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.patch" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.rebaseable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars2.githubusercontent.com/u/57224?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.id", - "data_type": "numeric", - "example_values": [ - 57224 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjU3MjI0" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_reviewers.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.description", - "data_type": "string", - "example_values": [ - "Everybody but Tony" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.id", - "data_type": "numeric", - "example_values": [ - 2826794 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.members_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.name", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VGVhbTI4MjY3OTQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/41309665?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.followers", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.following", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.has_organization_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.has_repository_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.id", - "data_type": "numeric", - "example_values": [ - 41309665 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/issues" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.public_gists", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.public_members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/public_members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.public_repos", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.organization.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.permission", - "data_type": "string", - "example_values": [ - "pull" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.privacy", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.repos_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.repositories_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.slug", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.requested_teams.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.review_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.review_comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.review_comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.state", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.title", - "data_type": "string", - "example_values": [ - "Sample title" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.pull_requests.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.started_at", - "data_type": "string", - "example_values": [ - "2018-05-04T01:14:52Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.status", - "data_type": "string", - "example_values": [ - "completed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_run.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-runs/4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.after", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.created_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.external_url", - "data_type": "string", - "example_values": [ - "http://super-duper.example.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/apps/super-duper" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.id", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.name", - "data_type": "string", - "example_values": [ - "Super Duper" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.node_id", - "data_type": "string", - "example_values": [ - "MDExOkludGVncmF0aW9uMQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.avatar_url", - "data_type": "string", - "example_values": [ - "http://alambic.github.com/avatars/u/340?" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.html_url", - "data_type": "string", - "example_values": [ - "http://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.id", - "data_type": "numeric", - "example_values": [ - 340 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.app.updated_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.before", - "data_type": "string", - "example_values": [ - "146e867f55c26428e5f9fade55a9bbf5e95a7912" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.check_runs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.conclusion", - "data_type": "string", - "example_values": [ - "neutral" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.created_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.author.email", - "data_type": "string", - "example_values": [ - "test@user.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.author.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.committer.email", - "data_type": "string", - "example_values": [ - "test@user.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.committer.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.id", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.message", - "data_type": "string", - "example_values": [ - "Sample message" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.timestamp", - "data_type": "string", - "example_values": [ - "2018-05-04T01:14:46Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_commit.tree_id", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.head_sha", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.id", - "data_type": "numeric", - "example_values": [ - 5 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.latest_check_runs_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.latest_check_runs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.commits.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.html.href", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.issue.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.review_comment.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.review_comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.self.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*._links.statuses.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.additions", - "data_type": "numeric", - "example_values": [ - 24 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.author_association", - "data_type": "string", - "example_values": [ - "CONTRIBUTOR" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.label", - "data_type": "string", - "example_values": [ - "test:2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.ref", - "data_type": "string", - "example_values": [ - "2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}..{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.created_at", - "data_type": "string", - "example_values": [ - "2010-01-04T14:21:21Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.forks", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.id", - "data_type": "numeric", - "example_values": [ - 458058 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk0NTgwNTg=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.size", - "data_type": "numeric", - "example_values": [ - 120647 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T11:54:19Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.watchers", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.sha", - "data_type": "string", - "example_values": [ - "08a49bc5302de373bdb44e5c189133a7d5d5f12b" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.base.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.body", - "data_type": "string", - "example_values": [ - "Sample body" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.changed_files", - "data_type": "numeric", - "example_values": [ - 6 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.commits", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:12:54Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.deletions", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.diff_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.diff" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.label", - "data_type": "string", - "example_values": [ - "test:uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.ref", - "data_type": "string", - "example_values": [ - "uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}..{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.created_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:32:59Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.forks", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.id", - "data_type": "numeric", - "example_values": [ - 80639758 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github repo" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:11:30Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.size", - "data_type": "numeric", - "example_values": [ - 112468 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.updated_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:33:18Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.head.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.id", - "data_type": "numeric", - "example_values": [ - 202539219 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.labels.*.color", - "data_type": "string", - "example_values": [ - "e10c02" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.labels.*.id", - "data_type": "numeric", - "example_values": [ - 100079 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.labels.*.name", - "data_type": "string", - "example_values": [ - "Bug" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxMDAwNzk=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels/Bug" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.maintainer_can_modify", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merge_commit_sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.mergeable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.mergeable_state", - "data_type": "string", - "example_values": [ - "unknown" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/47313?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.id", - "data_type": "numeric", - "example_values": [ - 47313 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQ3MzEz" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.merged_by.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.closed_at", - "data_type": "string", - "example_values": [ - "2016-11-06T21:24:23Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.closed_issues", - "data_type": "numeric", - "example_values": [ - 879 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.created_at", - "data_type": "string", - "example_values": [ - "2016-11-06T20:24:23Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/73419?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.id", - "data_type": "numeric", - "example_values": [ - 73419 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjczNDE5" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.description", - "data_type": "string", - "example_values": [ - "https://test.com/roadmap?version=3.4#checker" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.due_on", - "data_type": "string", - "example_values": [ - "2020-11-30T08:00:00Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/milestone/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.id", - "data_type": "numeric", - "example_values": [ - 2117464 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10/labels" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.node_id", - "data_type": "string", - "example_values": [ - "MDk6TWlsZXN0b25lMjExNzQ2NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.number", - "data_type": "numeric", - "example_values": [ - 10 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.open_issues", - "data_type": "numeric", - "example_values": [ - 15 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.title", - "data_type": "string", - "example_values": [ - "3.4" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T07:12:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.milestone.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.node_id", - "data_type": "string", - "example_values": [ - "MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.number", - "data_type": "numeric", - "example_values": [ - 27999 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.patch_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.patch" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.rebaseable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars2.githubusercontent.com/u/57224?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.id", - "data_type": "numeric", - "example_values": [ - 57224 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjU3MjI0" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_reviewers.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.description", - "data_type": "string", - "example_values": [ - "Everybody but Tony" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.id", - "data_type": "numeric", - "example_values": [ - 2826794 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.members_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.name", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VGVhbTI4MjY3OTQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/41309665?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.followers", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.following", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.has_organization_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.has_repository_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.id", - "data_type": "numeric", - "example_values": [ - 41309665 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/issues" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.public_gists", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.public_members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/public_members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.public_repos", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.organization.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.permission", - "data_type": "string", - "example_values": [ - "pull" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.privacy", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.repos_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.repositories_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.slug", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.requested_teams.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.review_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.review_comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.review_comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.state", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.title", - "data_type": "string", - "example_values": [ - "Sample title" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.pull_requests.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.status", - "data_type": "string", - "example_values": [ - "completed" - ] - }, - { - "data_path": "action_result.data.*.payload.check_suite.updated_at", - "data_type": "string", - "example_values": [ - "2018-04-25 20:42:10" - ] - }, - { - "data_path": "action_result.data.*.payload.comment._links.check_run.pull_requests.*.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27967" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment._links.html.href", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27967#discussion_r203241551" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment._links.pull_request.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27967" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment._links.pull_request.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27967" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment._links.self.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments/203241551" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.author_association", - "data_type": "string", - "example_values": [ - "CONTRIBUTOR" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.body", - "data_type": "string", - "example_values": [ - "LGTM. Can you add some tests?" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.commit_id", - "data_type": "string", - "example_values": [ - "329bd507c1123c1ab24e58b78fa8d32bd1c70639" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.created_at", - "data_type": "string", - "example_values": [ - "2018-07-20T05:36:22Z" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.diff_hunk", - "data_type": "string", - "example_values": [ - "Sample" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721#issuecomment-406494157" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.id", - "data_type": "numeric", - "example_values": [ - 406494157 - ] - }, - { - "data_path": "action_result.data.*.payload.comment.in_reply_to_id", - "data_type": "numeric", - "example_values": [ - 203123149 - ] - }, - { - "data_path": "action_result.data.*.payload.comment.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/issues/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.line", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.comment.node_id", - "data_type": "string", - "example_values": [ - "MDEyOklzc3VlQ29tbWVudDQwNjQ5NDE1Nw==" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.original_commit_id", - "data_type": "string", - "example_values": [ - "329bd507c1123c1ab24e58b78fa8d32bd1c70639" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.original_position", - "data_type": "numeric", - "example_values": [ - 13 - ] - }, - { - "data_path": "action_result.data.*.payload.comment.path", - "data_type": "string", - "example_values": [ - "src/test/Component/Finder/Finder.php" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.position", - "data_type": "numeric", - "example_values": [ - 13 - ] - }, - { - "data_path": "action_result.data.*.payload.comment.pull_request_review_id", - "data_type": "numeric", - "example_values": [ - 138091767 - ] - }, - { - "data_path": "action_result.data.*.payload.comment.pull_request_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27967" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-20T05:36:22Z" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/issues/comments/406494157" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/47313?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.comment.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.id", - "data_type": "numeric", - "example_values": [ - 47313 - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQ3MzEz" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.comment.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.commits.*.author.email", - "data_type": "string", - "example_values": [ - "jz@becklyn.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.commits.*.author.name", - "data_type": "string", - "example_values": [ - "Jannik Zschiesche" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.commits.*.distinct", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.commits.*.message", - "data_type": "string", - "example_values": [ - "Add several missing translations of the UUID validation message" - ] - }, - { - "data_path": "action_result.data.*.payload.commits.*.sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.commits.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.compare", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo/compare/a10867b14bb7...000000000000" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.created", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.deleted", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.description", - "data_type": "string", - "example_values": [ - "test-repo-Description" - ] - }, - { - "data_path": "action_result.data.*.payload.distinct_size", - "data_type": "numeric", - "example_values": [ - 100 - ] - }, - { - "data_path": "action_result.data.*.payload.distinct_size", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.effective_date", - "data_type": "string", - "example_values": [ - "2017-10-25T00:00:00+00:00" - ] - }, - { - "data_path": "action_result.data.*.payload.forced", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-proj.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.created_at", - "data_type": "string", - "example_values": [ - "2018-07-20T06:03:13Z" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.forkee.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.forks", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.forks_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test-proj.git" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-proj" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.id", - "data_type": "numeric", - "example_values": [ - 141670240 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.name", - "data_type": "string", - "example_values": [ - "test-proj" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnkxNDE2NzAyNDA=" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.public", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-20T06:02:31Z" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.size", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test-proj.git" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-proj" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-20T06:02:33Z" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.forkee.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.head", - "data_type": "string", - "example_values": [ - "9bfa971bc5662a6f90408b58a7b2453d7dae4f83" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.author.email", - "data_type": "string", - "example_values": [ - "test@user.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.author.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.committer.email", - "data_type": "string", - "example_values": [ - "test@user.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.committer.name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.id", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.message", - "data_type": "string", - "example_values": [ - "Sample message" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.timestamp", - "data_type": "string", - "example_values": [ - "2018-05-04T01:14:46Z" - ] - }, - { - "data_path": "action_result.data.*.payload.head_commit.tree_id", - "data_type": "string", - "example_values": [ - "d6fde92930d4715a2b49857d24b940956b26d2d3" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.access_tokens_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/installations/2/access_tokens" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.installation.account.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.account.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/octocat" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.app_id", - "data_type": "numeric", - "example_values": [ - 5725 - ] - }, - { - "data_path": "action_result.data.*.payload.installation.created_at", - "data_type": "numeric", - "example_values": [ - 1525109898 - ] - }, - { - "data_path": "action_result.data.*.payload.installation.events", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/settings/installations/2" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.id", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.installation.permissions.contents", - "data_type": "string", - "example_values": [ - "read" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.permissions.issues", - "data_type": "string", - "example_values": [ - "write" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.permissions.metadata", - "data_type": "string", - "example_values": [ - "read" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.repositories_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/installation/repositories" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.repository_selection", - "data_type": "string", - "example_values": [ - "selected" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.single_file_name", - "data_type": "string", - "example_values": [ - "config.yml" - ], - "contains": [ - "file name" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.target_id", - "data_type": "numeric", - "example_values": [ - 3880403 - ] - }, - { - "data_path": "action_result.data.*.payload.installation.target_type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.installation.updated_at", - "data_type": "numeric", - "example_values": [ - 1525109899 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/243674?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.id", - "data_type": "numeric", - "example_values": [ - 243674 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI0MzY3NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/243674?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 243674 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI0MzY3NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.author_association", - "data_type": "string", - "example_values": [ - "CONTRIBUTOR" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.body", - "data_type": "string", - "example_values": [ - "As spotted here https://github.com/test/test/issues/28001 `$loader->exists('@foo')` shouldn't throw an exception. e.g.: https://github.com/test/test/blob/9bfa971bc5662a6f90408b58a7b2453d7dae4f83/src/test/Component/HttpKernel/Fragment/HIncludeFragmentRenderer.php#L145" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.check_run.pull_requests.*.diff_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721.diff" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.check_run.pull_requests.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.check_run.pull_requests.*.patch_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721.patch" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.check_run.pull_requests.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/pulls/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T19:18:50Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/issues/2721/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.created_at", - "data_type": "string", - "example_values": [ - "2018-07-19T18:18:50Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/issues/2721/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.id", - "data_type": "numeric", - "example_values": [ - 342837096 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels.*.color", - "data_type": "string", - "example_values": [ - "e10c02" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels.*.id", - "data_type": "numeric", - "example_values": [ - 100079 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels.*.name", - "data_type": "string", - "example_values": [ - "Bug" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxMDAwNzk=" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels/Bug" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/issues/2721/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.closed_at", - "data_type": "string", - "example_values": [ - "2016-12-06T13:03:12Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.closed_issues", - "data_type": "numeric", - "example_values": [ - 146 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.created_at", - "data_type": "string", - "example_values": [ - "2016-12-06T12:03:12Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/243674?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.id", - "data_type": "numeric", - "example_values": [ - 243674 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI0MzY3NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.description", - "data_type": "string", - "example_values": [ - "https://test.com/roadmap?version=2.8#checker" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.due_on", - "data_type": "string", - "example_values": [ - "2018-11-30T08:00:00Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/milestone/14" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.id", - "data_type": "numeric", - "example_values": [ - 2178740 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/14/labels" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.node_id", - "data_type": "string", - "example_values": [ - "MDk6TWlsZXN0b25lMjE3ODc0MA==" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.number", - "data_type": "numeric", - "example_values": [ - 14 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.open_issues", - "data_type": "numeric", - "example_values": [ - 14 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.title", - "data_type": "string", - "example_values": [ - "2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-13T20:20:34Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.milestone.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/14" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.node_id", - "data_type": "string", - "example_values": [ - "MDExOlB1bGxSZXF1ZXN0MjAyNjQzNTEy" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.number", - "data_type": "numeric", - "example_values": [ - 2721 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.pull_request.diff_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721.diff" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.pull_request.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.pull_request.patch_url", - "data_type": "string", - "example_values": [ - "https://github.com/twigphp/Twig/pull/2721.patch" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.pull_request.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/pulls/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.repository_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.title", - "data_type": "string", - "example_values": [ - "Don't throw error on validate or parse name if throw var is false" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-20T05:36:22Z" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/twigphp/Twig/issues/2721" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/2028198?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.issue.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.id", - "data_type": "numeric", - "example_values": [ - 2028198 - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjIwMjgxOTg=" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.issue.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.account.id", - "data_type": "numeric", - "example_values": [ - 18404719 - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.account.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.account.organization_billing_email", - "data_type": "string", - "example_values": [ - "username@email.com" - ], - "contains": [ - "email" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.account.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.billing_cycle", - "data_type": "string", - "example_values": [ - "monthly" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.free_trial_ends_on", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.next_billing_date", - "data_type": "string", - "example_values": [ - "2017-11-05T00:00:00+00:00" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.on_free_trial", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.bullets", - "data_type": "string", - "example_values": [ - "Is Basic" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.description", - "data_type": "string", - "example_values": [ - "Basic Plan" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.has_free_trial", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.id", - "data_type": "numeric", - "example_values": [ - 435 - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.monthly_price_in_cents", - "data_type": "numeric", - "example_values": [ - 1000 - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.name", - "data_type": "string", - "example_values": [ - "Basic Plan" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.price_model", - "data_type": "string", - "example_values": [ - "per-unit" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.unit_name", - "data_type": "string", - "example_values": [ - "seat" - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.plan.yearly_price_in_cents", - "data_type": "numeric", - "example_values": [ - 10000 - ] - }, - { - "data_path": "action_result.data.*.payload.marketplace_purchase.unit_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.master_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.member.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/41301719?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.member.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.id", - "data_type": "numeric", - "example_values": [ - 41301719 - ] - }, - { - "data_path": "action_result.data.*.payload.member.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.member.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQxMzA5NzE5" - ] - }, - { - "data_path": "action_result.data.*.payload.member.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.member.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.member.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.member.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.number", - "data_type": "numeric", - "example_values": [ - 27999 - ] - }, - { - "data_path": "action_result.data.*.payload.organization.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/38302899?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.description", - "data_type": "string", - "example_values": [ - "sample description" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/Octocoders/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/Octocoders/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.id", - "data_type": "numeric", - "example_values": [ - 406494157 - ] - }, - { - "data_path": "action_result.data.*.payload.organization.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/Octocoders/issues" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/Octocoders/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjM5NjUyMzUx" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.public_members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/Octocoders/public_members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/Octocoders/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.organization.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pages.*.action", - "data_type": "string", - "example_values": [ - "created" - ] - }, - { - "data_path": "action_result.data.*.payload.pages.*.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-proj/wiki/Home" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pages.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-proj/wiki/Home" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pages.*.page_name", - "data_type": "string", - "example_values": [ - "Home" - ] - }, - { - "data_path": "action_result.data.*.payload.pages.*.sha", - "data_type": "string", - "example_values": [ - "75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.pages.*.summary", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pages.*.title", - "data_type": "string", - "example_values": [ - "Home" - ] - }, - { - "data_path": "action_result.data.*.payload.project.body", - "data_type": "string", - "example_values": [ - "Project tasks for a trip to Space" - ] - }, - { - "data_path": "action_result.data.*.payload.project.columns_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/1547122/columns" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.created_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:51Z" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/21031067?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.project.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.id", - "data_type": "numeric", - "example_values": [ - 73419 - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjczNDE5" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.project.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo/projects/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.id", - "data_type": "numeric", - "example_values": [ - 1547122 - ] - }, - { - "data_path": "action_result.data.*.payload.project.name", - "data_type": "string", - "example_values": [ - "Space 2.0" - ] - }, - { - "data_path": "action_result.data.*.payload.project.node_id", - "data_type": "string", - "example_values": [ - "MDc6UHJvamVjdDE1NDcxMjI=" - ] - }, - { - "data_path": "action_result.data.*.payload.project.number", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.project.owner_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.project.updated_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:51Z" - ] - }, - { - "data_path": "action_result.data.*.payload.project.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/1547122" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.column_id", - "data_type": "numeric", - "example_values": [ - 2803722 - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.column_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/columns/2803722" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.created_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:52Z" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/243674?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.id", - "data_type": "numeric", - "example_values": [ - 243674 - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI0MzY3NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.id", - "data_type": "numeric", - "example_values": [ - 10189042 - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.node_id", - "data_type": "string", - "example_values": [ - "MDExOlByb2plY3RDYXJkMTAxODkwNDI=" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.note", - "data_type": "string", - "example_values": [ - "Work that can be completed in one hour or less" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.updated_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:52Z" - ] - }, - { - "data_path": "action_result.data.*.payload.project_card.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/columns/cards/10189042" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.cards_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/columns/2803722/cards" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.created_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:52Z" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.id", - "data_type": "numeric", - "example_values": [ - 2803722 - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.name", - "data_type": "string", - "example_values": [ - "Small bugfixes" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.node_id", - "data_type": "string", - "example_values": [ - "MDEzOlByb2plY3RDb2x1bW4yODAzNzIy" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.project_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/1547122" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.updated_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:52Z" - ] - }, - { - "data_path": "action_result.data.*.payload.project_column.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/projects/columns/2803722" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.commits.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.html.href", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.issue.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.review_comment.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.review_comments.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.self.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request._links.statuses.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.additions", - "data_type": "numeric", - "example_values": [ - 24 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.author_association", - "data_type": "string", - "example_values": [ - "CONTRIBUTOR" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.label", - "data_type": "string", - "example_values": [ - "test:2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.ref", - "data_type": "string", - "example_values": [ - "2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.created_at", - "data_type": "string", - "example_values": [ - "2010-01-04T14:21:21Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.forks", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 6330 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.id", - "data_type": "numeric", - "example_values": [ - 458058 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk0NTgwNTg=" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 893 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.size", - "data_type": "numeric", - "example_values": [ - 120647 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T11:54:19Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.watchers", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 18086 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.sha", - "data_type": "string", - "example_values": [ - "08a49bc5302de373bdb44e5c189133a7d5d5f12b" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/143937?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.id", - "data_type": "numeric", - "example_values": [ - 143937 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjE0MzkzNw==" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.base.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.body", - "data_type": "string", - "example_values": [ - "Sample body" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.changed_files", - "data_type": "numeric", - "example_values": [ - 6 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.commits", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/commits" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.created_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:12:54Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.deletions", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.diff_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.diff" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.label", - "data_type": "string", - "example_values": [ - "test:uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.ref", - "data_type": "string", - "example_values": [ - "uuid-translations" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.created_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:32:59Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.description", - "data_type": "string", - "example_values": [ - "The test PHP framework" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.forks", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.forks_count", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.id", - "data_type": "numeric", - "example_values": [ - 80639758 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.language", - "data_type": "string", - "example_values": [ - "PHP" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnk4MDYzOTc1OA==" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:11:30Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.size", - "data_type": "numeric", - "example_values": [ - 112468 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test.git" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.updated_at", - "data_type": "string", - "example_values": [ - "2017-02-01T16:33:18Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.repo.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.head.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.id", - "data_type": "numeric", - "example_values": [ - 202539219 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/issues/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.labels.*.color", - "data_type": "string", - "example_values": [ - "e10c02" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.labels.*.id", - "data_type": "numeric", - "example_values": [ - 100079 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.labels.*.name", - "data_type": "string", - "example_values": [ - "Bug" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxMDAwNzk=" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/labels/Bug" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.maintainer_can_modify", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merge_commit_sha", - "data_type": "string", - "example_values": [ - "ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "sha1" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.mergeable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.mergeable_state", - "data_type": "string", - "example_values": [ - "unknown" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/47313?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.id", - "data_type": "numeric", - "example_values": [ - 47313 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQ3MzEz" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.merged_by.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.closed_at", - "data_type": "string", - "example_values": [ - "2018-07-20T11:26:15Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.closed_issues", - "data_type": "numeric", - "example_values": [ - 879 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.created_at", - "data_type": "string", - "example_values": [ - "2016-11-06T20:24:23Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/73419?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.id", - "data_type": "numeric", - "example_values": [ - 73419 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjczNDE5" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.creator.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.description", - "data_type": "string", - "example_values": [ - "Sample description" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.due_on", - "data_type": "string", - "example_values": [ - "2020-11-30T08:00:00Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/milestone/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.id", - "data_type": "numeric", - "example_values": [ - 2117464 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10/labels" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.node_id", - "data_type": "string", - "example_values": [ - "MDk6TWlsZXN0b25lMjExNzQ2NA==" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.number", - "data_type": "numeric", - "example_values": [ - 10 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.open_issues", - "data_type": "numeric", - "example_values": [ - 15 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.title", - "data_type": "string", - "example_values": [ - "3.4" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T07:12:02Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.milestone.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/milestones/10" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.node_id", - "data_type": "string", - "example_values": [ - "MDExOlB1bGxSZXF1ZXN0MjAyNTM5MjE5" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.number", - "data_type": "numeric", - "example_values": [ - 27999 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.patch_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test/pull/27999.patch" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.rebaseable", - "data_type": "boolean", - "example_values": [ - false, - true - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars2.githubusercontent.com/u/57224?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.id", - "data_type": "numeric", - "example_values": [ - 57224 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjU3MjI0" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_reviewers.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.description", - "data_type": "string", - "example_values": [ - "Everybody but Tony" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.id", - "data_type": "numeric", - "example_values": [ - 2826794 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.members_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.name", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VGVhbTI4MjY3OTQ=" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/41309665?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.followers", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.following", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.has_organization_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.has_repository_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.id", - "data_type": "numeric", - "example_values": [ - 41309665 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/issues" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.public_gists", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.public_members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/public_members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.public_repos", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:02:38Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.organization.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.permission", - "data_type": "string", - "example_values": [ - "pull" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.privacy", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.repos_count", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.repositories_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.slug", - "data_type": "string", - "example_values": [ - "not-tony-team" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:08:17Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.requested_teams.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2826794" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.review_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.review_comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.review_comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.state", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.title", - "data_type": "string", - "example_values": [ - "Sample title" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-19T12:14:03Z" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test/pulls/27999" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.pull_request.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.push_id", - "data_type": "numeric", - "example_values": [ - 2731668591 - ] - }, - { - "data_path": "action_result.data.*.payload.pusher_type", - "data_type": "string", - "example_values": [ - "user" - ] - }, - { - "data_path": "action_result.data.*.payload.ref", - "data_type": "string", - "example_values": [ - "refs/heads/2.8" - ] - }, - { - "data_path": "action_result.data.*.payload.ref_type", - "data_type": "string", - "example_values": [ - "repository" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.browser_download_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-proj/releases/download/1.1.1.1.1/phapp_code42.tgz" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.content_type", - "data_type": "string", - "example_values": [ - "application/x-compressed" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-20T13:12:10Z" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.download_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.id", - "data_type": "numeric", - "example_values": [ - 7946908 - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.label", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.name", - "data_type": "string", - "example_values": [ - "phapp_code42.tgz" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.node_id", - "data_type": "string", - "example_values": [ - "MDEyOlJlbGVhc2VBc3NldDc5NDY5MDg=" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.size", - "data_type": "numeric", - "example_values": [ - 91097 - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.state", - "data_type": "string", - "example_values": [ - "uploaded" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-20T13:12:16Z" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/41309719?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.id", - "data_type": "numeric", - "example_values": [ - 41309719 - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjQxMzA5NzE5" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.uploader.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-proj/releases/assets/8946908" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.assets_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/toml-lang/toml/releases/11865985/assets" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/1?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.release.author.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.id", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjE=" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.release.author.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.body", - "data_type": "string", - "example_values": [ - "Sample body" - ] - }, - { - "data_path": "action_result.data.*.payload.release.created_at", - "data_type": "string", - "example_values": [ - "2018-07-10T21:44:12Z" - ] - }, - { - "data_path": "action_result.data.*.payload.release.draft", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.release.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/toml-lang/toml/releases/tag/v0.5.0" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.id", - "data_type": "numeric", - "example_values": [ - 11865985 - ] - }, - { - "data_path": "action_result.data.*.payload.release.name", - "data_type": "string", - "example_values": [ - "v0.5.0" - ] - }, - { - "data_path": "action_result.data.*.payload.release.node_id", - "data_type": "string", - "example_values": [ - "MDc6UmVsZWFzZTExODY1OTg1" - ] - }, - { - "data_path": "action_result.data.*.payload.release.prerelease", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.release.published_at", - "data_type": "string", - "example_values": [ - "2018-07-10T21:58:13Z" - ] - }, - { - "data_path": "action_result.data.*.payload.release.tag_name", - "data_type": "string", - "example_values": [ - "v0.5.0" - ] - }, - { - "data_path": "action_result.data.*.payload.release.tarball_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/toml-lang/toml/tarball/v0.5.0" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.target_commitish", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.release.upload_url", - "data_type": "string", - "example_values": [ - "https://uploads.github.com/repos/toml-lang/toml/releases/11865985/assets{?name,label}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/toml-lang/toml/releases/11865985" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.release.zipball_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/toml-lang/toml/zipball/v0.5.0" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.created_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:04Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.forks", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.forks_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.id", - "data_type": "numeric", - "example_values": [ - 135493233 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.language", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.name", - "data_type": "string", - "example_values": [ - "test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.pushed_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:34Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.size", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:44Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_added.*.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.created_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:04Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.forks", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.forks_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.id", - "data_type": "numeric", - "example_values": [ - 135493233 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.language", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.name", - "data_type": "string", - "example_values": [ - "test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.pushed_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:34Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.size", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:44Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repositories_removed.*.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.created_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:04Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.description", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repository.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.forks", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.forks_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.homepage", - "data_type": "string", - "example_values": [ - "https://test.com" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.id", - "data_type": "numeric", - "example_values": [ - 135493233 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.language", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repository.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.license.key", - "data_type": "string", - "example_values": [ - "mit" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.license.name", - "data_type": "string", - "example_values": [ - "MIT License" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZTEz" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.license.spdx_id", - "data_type": "string", - "example_values": [ - "MIT" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/mit" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.master_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.name", - "data_type": "string", - "example_values": [ - "test-repo" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM=" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29939753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.repository.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.private", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.repository.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.pushed_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:34Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.size", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.stargazers", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.updated_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:44Z" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.repository.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.payload.repository_selection", - "data_type": "string", - "example_values": [ - "selected" - ] - }, - { - "data_path": "action_result.data.*.payload.review._links.html.href", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review._links.pull_request.href", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/pulls/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.author_association", - "data_type": "string", - "example_values": [ - "OWNER" - ] - }, - { - "data_path": "action_result.data.*.payload.review.body", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.review.commit_id", - "data_type": "string", - "example_values": [ - "34c5c7793cb3b279e22454cb6750c80560547b3a" - ] - }, - { - "data_path": "action_result.data.*.payload.review.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.id", - "data_type": "numeric", - "example_values": [ - 124575911 - ] - }, - { - "data_path": "action_result.data.*.payload.review.node_id", - "data_type": "string", - "example_values": [ - "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MTI0NTc1OTEx" - ] - }, - { - "data_path": "action_result.data.*.payload.review.pull_request_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/pulls/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.state", - "data_type": "string", - "example_values": [ - "commented" - ] - }, - { - "data_path": "action_result.data.*.payload.review.submitted_at", - "data_type": "string", - "example_values": [ - "2018-05-30T20:18:31Z" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars1.githubusercontent.com/u/1032411?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.review.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.id", - "data_type": "numeric", - "example_values": [ - 1032411 - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjEwMzI0MTE=" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.review.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars2.githubusercontent.com/u/39652351?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.payload.sender.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.id", - "data_type": "numeric", - "example_values": [ - 406494157 - ] - }, - { - "data_path": "action_result.data.*.payload.sender.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjM5NjUyMzUx" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.payload.sender.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.payload.sender.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.payload.size", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.data.*.public", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.repo.id", - "data_type": "numeric", - "example_values": [ - 141531062 - ] - }, - { - "data_path": "action_result.data.*.repo.name", - "data_type": "string", - "example_values": [ - "test-repo" - ], - "contains": [ - "github repo" - ] - }, - { - "data_path": "action_result.data.*.repo.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.type", - "data_type": "string", - "example_values": [ - "CreateEvent" - ] - }, - { - "data_path": "action_result.summary.total_events", - "data_type": "numeric", - "example_values": [ - 153 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total events: 153" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "custom", - "width": 12, - "height": 5, - "view": "github_view.display_view" - }, - "versions": "EQ(*)" - }, - { - "action": "list users", - "identifier": "list_users", - "description": "List users of an organization", - "type": "investigate", - "read_only": true, - "parameters": { - "organization_name": { - "description": "Organization name", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github organization name" - ], - "order": 0 - }, - "limit": { - "description": "Maximum number of users to be fetched", - "data_type": "numeric", - "order": 1 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.limit", - "data_type": "numeric" - }, - { - "data_path": "action_result.parameter.organization_name", - "data_type": "string", - "example_values": [ - "test organization" - ], - "contains": [ - "github organization name" - ] - }, - { - "data_path": "action_result.data.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29919753?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 29939753 - ], - "column_name": "User ID", - "column_order": 0 - }, - { - "data_path": "action_result.data.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ], - "column_name": "Username", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.total_users", - "data_type": "numeric", - "example_values": [ - 5 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total users: 5" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "remove collaborator", - "identifier": "remove_collaborator", - "description": "Remove user as a collaborator from the repo", - "verbose": "If the user is not a direct collaborator to the repo, any pending invitations to the user will also be deleted.", - "type": "generic", - "undo": "add collaborator", - "read_only": false, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "user": { - "description": "Username", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github username" - ], - "order": 2 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "column_name": "Repo Name", - "column_order": 1, - "example_values": [ - "testrepo" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "column_name": "Repo Owner", - "column_order": 0, - "example_values": [ - "Splunk" - ] - }, - { - "data_path": "action_result.parameter.user", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ], - "column_name": "User", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.invite_deleted", - "data_type": "boolean", - "example_values": [ - true, - false - ], - "column_name": "Invite Deleted", - "column_order": 3 - }, - { - "data_path": "action_result.summary", - "data_type": "string" - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "User test is not a collaborator to repo test/test-repo and any pending invitations deleted" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "add collaborator", - "identifier": "add_collaborator", - "description": "Add user as a collaborator to repo", - "verbose": "For repo whose owner is an organization, if the user is not a member of the organization, GitHub will send an email invite to the user to join as a collaborator. Otherwise, he will be directly added as a collaborator. For repo whose owner is a user, GitHub will always send an email invite to the user to join as a collaborator. If an invite is already sent to the user, re-invite will not be sent. If the user is already a collaborator, his role will be updated.", - "type": "generic", - "undo": "remove collaborator", - "read_only": false, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "user": { - "description": "Username", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github username" - ], - "order": 2 - }, - "role": { - "description": "Role of the user (Default: Push)", - "data_type": "string", - "value_list": [ - "Pull", - "Push", - "Admin" - ], - "default": "Push", - "order": 3 - }, - "override": { - "description": "Override existing role of collaborator", - "data_type": "boolean", - "order": 4 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.override", - "data_type": "boolean", - "example_values": [ - true, - false - ], - "column_name": "Override Role", - "column_order": 4 - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "column_name": "Repo Name", - "column_order": 1, - "example_values": [ - "testrepo" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "column_name": "Repo Owner", - "column_order": 0, - "example_values": [ - "Splunk" - ] - }, - { - "data_path": "action_result.parameter.role", - "data_type": "string", - "example_values": [ - "Pull", - "Push", - "Admin" - ], - "column_name": "Role", - "column_order": 3 - }, - { - "data_path": "action_result.parameter.user", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ], - "column_name": "User", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.collaborator_added", - "data_type": "boolean", - "example_values": [ - true, - false - ], - "column_name": "Collaborator Added", - "column_order": 5 - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-25T12:47:00Z" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo/invitations" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 10200401 - ] - }, - { - "data_path": "action_result.data.*.invite_sent", - "data_type": "boolean", - "example_values": [ - true, - false - ], - "column_name": "Invite Sent", - "column_order": 6 - }, - { - "data_path": "action_result.data.*.invitee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/29930053?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.invitee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.id", - "data_type": "numeric", - "example_values": [ - 29900753 - ] - }, - { - "data_path": "action_result.data.*.invitee.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.invitee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXlNcjI5OTM5NzUz" - ] - }, - { - "data_path": "action_result.data.*.invitee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.invitee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.invitee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.invitee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/41300385?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.inviter.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.id", - "data_type": "numeric", - "example_values": [ - 41300385 - ] - }, - { - "data_path": "action_result.data.*.inviter.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.inviter.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXlNcjQxMzMxMzg1" - ] - }, - { - "data_path": "action_result.data.*.inviter.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.inviter.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.inviter.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.inviter.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE=" - ] - }, - { - "data_path": "action_result.data.*.permissions", - "data_type": "string", - "example_values": [ - "admin" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/user/repository_invitations/10245401" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary", - "data_type": "string" - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "User test added successfully as a collaborator to repo test-organization/test-repo" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "remove member", - "identifier": "remove_member", - "description": "Remove user from the team", - "verbose": "Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", - "type": "generic", - "undo": "add member", - "read_only": false, - "parameters": { - "team": { - "description": "Team name or team ID", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github team name", - "github team id" - ], - "order": 0 - }, - "user": { - "description": "Username", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github username" - ], - "order": 1 - }, - "organization_name": { - "description": "Organization name", - "data_type": "string", - "primary": true, - "contains": [ - "github organization name" - ], - "order": 2 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ], - "column_name": "Status", - "column_order": 3 - }, - { - "data_path": "action_result.parameter.organization_name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ], - "column_name": "Organization Name", - "column_order": 0 - }, - { - "data_path": "action_result.parameter.team", - "data_type": "string", - "example_values": [ - "2800753", - "test team" - ], - "contains": [ - "github team name", - "github team id" - ], - "column_name": "Team", - "column_order": 1 - }, - { - "data_path": "action_result.parameter.user", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ], - "column_name": "User", - "column_order": 2 - }, - { - "data_path": "action_result.data", - "data_type": "string" - }, - { - "data_path": "action_result.summary", - "data_type": "string" - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Member with username test successfully removed from Team 2800753" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 0, - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "add member", - "identifier": "add_member", - "description": "Add user in a team", - "verbose": "Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", - "type": "generic", - "undo": "remove member", - "read_only": false, - "parameters": { - "team": { - "description": "Team name or team ID", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github team name", - "github team id" - ], - "order": 0 - }, - "user": { - "description": "Username", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github username" - ], - "order": 1 - }, - "role": { - "description": "Role of the user (Default: Member)", - "data_type": "string", - "value_list": [ - "Member", - "Maintainer" - ], - "default": "Member", - "order": 2 - }, - "organization_name": { - "description": "Organization name", - "data_type": "string", - "primary": true, - "contains": [ - "github organization name" - ], - "order": 3 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ], - "column_name": "Status", - "column_order": 5 - }, - { - "data_path": "action_result.parameter.organization_name", - "data_type": "string", - "example_values": [ - "test-org" - ], - "contains": [ - "github organization name" - ], - "column_name": "Organization Name", - "column_order": 0 - }, - { - "data_path": "action_result.parameter.role", - "data_type": "string", - "example_values": [ - "Member", - "Maintainer" - ], - "column_name": "Role", - "column_order": 3 - }, - { - "data_path": "action_result.parameter.team", - "data_type": "string", - "example_values": [ - "new test team", - "2830072" - ], - "contains": [ - "github team name", - "github team id" - ], - "column_name": "Team", - "column_order": 1 - }, - { - "data_path": "action_result.parameter.user", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ], - "column_name": "User", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.role", - "data_type": "string", - "example_values": [ - "member", - "maintainer" - ] - }, - { - "data_path": "action_result.data.*.state", - "data_type": "string", - "example_values": [ - "active", - "pending" - ], - "column_name": "Membership State", - "column_order": 4 - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2830072/memberships/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary", - "data_type": "string" - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Member with username test123456 successfully added in Team 2800260 with role of maintainer" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "list teams", - "identifier": "list_teams", - "description": "List all teams of an organization", - "type": "investigate", - "read_only": true, - "parameters": { - "organization_name": { - "description": "Organization name", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github organization name" - ], - "order": 0 - }, - "limit": { - "description": "Maximum number of teams to be fetched", - "data_type": "numeric", - "order": 1 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.limit", - "data_type": "numeric" - }, - { - "data_path": "action_result.parameter.organization_name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ], - "column_name": "Organization Name", - "column_order": 0 - }, - { - "data_path": "action_result.data.*.description", - "data_type": "string", - "example_values": [ - "New team" - ], - "column_name": "Team Description", - "column_order": 3 - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 2825460 - ], - "contains": [ - "github team id" - ], - "column_name": "Team ID", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2825460/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.name", - "data_type": "string", - "example_values": [ - "new team" - ], - "contains": [ - "github team name" - ], - "column_name": "Team Name", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VGVhbTI4JmcyNjA=" - ] - }, - { - "data_path": "action_result.data.*.permission", - "data_type": "string", - "example_values": [ - "pull" - ], - "column_name": "Permission", - "column_order": 5 - }, - { - "data_path": "action_result.data.*.privacy", - "data_type": "string", - "example_values": [ - "closed" - ], - "column_name": "Privacy", - "column_order": 4 - }, - { - "data_path": "action_result.data.*.repositories_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2825460/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.slug", - "data_type": "string", - "example_values": [ - "new-team" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/teams/2825460" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.total_teams", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total teams: 3" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "list repos", - "identifier": "list_repos", - "description": "List all repos of an organization", - "type": "investigate", - "read_only": true, - "parameters": { - "organization_name": { - "description": "Organization name", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github organization name" - ], - "order": 0 - }, - "limit": { - "description": "Maximum number of repositories to be fetched", - "data_type": "numeric", - "order": 1 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.limit", - "data_type": "numeric" - }, - { - "data_path": "action_result.parameter.organization_name", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ], - "column_name": "Organization Name", - "column_order": 0 - }, - { - "data_path": "action_result.data.*.archive_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.archived", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/assignees{/user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.blobs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/blobs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.branches_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.clone_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo.git" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.collaborators_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.compare_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.contents_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contents/{+path}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.contributors_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/contributors" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:05:00Z" - ], - "column_name": "Created At", - "column_order": 5 - }, - { - "data_path": "action_result.data.*.default_branch", - "data_type": "string", - "example_values": [ - "master" - ] - }, - { - "data_path": "action_result.data.*.deployments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/deployments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.description", - "data_type": "string", - "example_values": [ - "Test Repo 1" - ], - "column_name": "Repo Description", - "column_order": 3 - }, - { - "data_path": "action_result.data.*.downloads_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/downloads" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.fork", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.forks", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.forks_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.forks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/forks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.full_name", - "data_type": "string", - "example_values": [ - "test/test-repo" - ], - "column_name": "Repo Full Name", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.git_commits_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.git_refs_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/refs{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.git_tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/tags{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.git_url", - "data_type": "string", - "example_values": [ - "git://github.com/test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.has_downloads", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.has_issues", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.has_pages", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.has_projects", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.has_wiki", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.homepage", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 141304012 - ], - "column_name": "Repo ID", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.issue_comment_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.issue_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/issues{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.keys_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/keys{/key_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.language", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.languages_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/languages" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.license.key", - "data_type": "string", - "example_values": [ - "apache-2.0" - ] - }, - { - "data_path": "action_result.data.*.license.name", - "data_type": "string", - "example_values": [ - "Apache License 2.0" - ] - }, - { - "data_path": "action_result.data.*.license.node_id", - "data_type": "string", - "example_values": [ - "MDc6TGljZW5zZIT=" - ] - }, - { - "data_path": "action_result.data.*.license.spdx_id", - "data_type": "string", - "example_values": [ - "Apache-2.0" - ] - }, - { - "data_path": "action_result.data.*.license.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/licenses/apache-2.0" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.merges_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/merges" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.milestones_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.mirror_url", - "data_type": "string", - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.name", - "data_type": "string", - "example_values": [ - "test-repo" - ] - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDEwOlJlcG9zaXRvnckxNDEyMDQwMDA=" - ] - }, - { - "data_path": "action_result.data.*.notifications_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.open_issues", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.open_issues_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.owner.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/41409665?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.owner.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.id", - "data_type": "numeric", - "example_values": [ - 41309165 - ] - }, - { - "data_path": "action_result.data.*.owner.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github username" - ], - "column_name": "Repo Owner", - "column_order": 4 - }, - { - "data_path": "action_result.data.*.owner.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1" - ] - }, - { - "data_path": "action_result.data.*.owner.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.owner.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.owner.type", - "data_type": "string", - "example_values": [ - "Organization" - ] - }, - { - "data_path": "action_result.data.*.owner.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.permissions.admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.permissions.pull", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.permissions.push", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.private", - "data_type": "boolean", - "example_values": [ - true, - false - ], - "column_name": "Is Private", - "column_order": 7 - }, - { - "data_path": "action_result.data.*.pulls_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/pulls{/number}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.pushed_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:03:58Z" - ] - }, - { - "data_path": "action_result.data.*.releases_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/releases{/id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.size", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.ssh_url", - "data_type": "string", - "example_values": [ - "git@github.com:test/test-repo.git" - ] - }, - { - "data_path": "action_result.data.*.stargazers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.stargazers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/stargazers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.statuses_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/statuses/{sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.subscribers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscribers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.subscription_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/subscription" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.svn_url", - "data_type": "string", - "example_values": [ - "https://github.com/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.tags_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/tags" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.teams_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/teams" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.trees_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo/git/trees{/sha}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-07-16T23:03:00Z" - ], - "column_name": "Updated At", - "column_order": 6 - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/test/test-repo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.watchers", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.watchers_count", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.summary.total_repos", - "data_type": "numeric", - "example_values": [ - 3 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total repos: 3" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "list organizations", - "identifier": "list_organizations", - "description": "List all organizations", - "type": "investigate", - "read_only": true, - "parameters": { - "limit": { - "description": "Maximum number of organizations to be fetched", - "data_type": "numeric", - "order": 0 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.limit", - "data_type": "numeric" - }, - { - "data_path": "action_result.data.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/41301665?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.description", - "data_type": "string", - "column_name": "Organization Description", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.hooks_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/hooks" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 41301665 - ], - "column_name": "Organization ID", - "column_order": 0 - }, - { - "data_path": "action_result.data.*.issues_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/issues" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.login", - "data_type": "string", - "example_values": [ - "test" - ], - "contains": [ - "github organization name" - ], - "column_name": "Organization Name", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1" - ] - }, - { - "data_path": "action_result.data.*.public_members_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/public_members{/member}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/orgs/test" - ], - "contains": [ - "url" - ], - "column_name": "Organization URL", - "column_order": 3 - }, - { - "data_path": "action_result.summary.total_organizations", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total organizations: 2" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "list issues", - "identifier": "list_issues", - "description": "Get a list of issues for the GitHub repository", - "type": "investigate", - "read_only": true, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "limit": { - "description": "Maximum number of issues to be fetched", - "data_type": "numeric", - "order": 2 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.limit", - "data_type": "numeric" - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "example_values": [ - "testrepo" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "example_values": [ - "Splunk" - ] - }, - { - "data_path": "action_result.data.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/id" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/username" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 7614131 - ] - }, - { - "data_path": "action_result.data.*.assignee.login", - "data_type": "string", - "example_values": [ - "testusername" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "LAKSJDOIWsase=" - ] - }, - { - "data_path": "action_result.data.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/7614131?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/username" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 7614131 - ] - }, - { - "data_path": "action_result.data.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "username" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "LAKSJDOIWsase=" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.author_association", - "data_type": "string", - "example_values": [ - "COLLABORATOR" - ] - }, - { - "data_path": "action_result.data.*.body", - "data_type": "string", - "example_values": [ - "Test issue body right here" - ] - }, - { - "data_path": "action_result.data.*.closed_at", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/username/testrepo/issues/4/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2018-04-23T01:15:25Z" - ] - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/username/testrepo/issues/4/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/username/testrepo/issues/4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 316631564 - ] - }, - { - "data_path": "action_result.data.*.labels.*.color", - "data_type": "string", - "example_values": [ - "a2eeef" - ] - }, - { - "data_path": "action_result.data.*.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.labels.*.id", - "data_type": "numeric", - "example_values": [ - 864962287 - ] - }, - { - "data_path": "action_result.data.*.labels.*.name", - "data_type": "string", - "example_values": [ - "enhancement" - ] - }, - { - "data_path": "action_result.data.*.labels.*.node_id", - "data_type": "string", - "example_values": [ - "LAKSJDOIWsase=" - ] - }, - { - "data_path": "action_result.data.*.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/owner/repo/labels/enhancement" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/username/testrepo/issues/4/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.milestone", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "LAKSJDOIWsase=" - ] - }, - { - "data_path": "action_result.data.*.number", - "data_type": "numeric", - "example_values": [ - 4 - ], - "contains": [ - "github issue id" - ] - }, - { - "data_path": "action_result.data.*.repository_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/username/testrepo" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.title", - "data_type": "string", - "example_values": [ - "Test issue title here" - ] - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2018-04-23T01:15:25Z" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/username/testrepo/issues/4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars0.githubusercontent.com/u/avatarid" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/username" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.id", - "data_type": "numeric", - "example_values": [ - 99999 - ] - }, - { - "data_path": "action_result.data.*.user.login", - "data_type": "string", - "example_values": [ - "username" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.user.node_id", - "data_type": "string", - "example_values": [ - "LAKSJDOIWsase=" - ] - }, - { - "data_path": "action_result.data.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/username" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.total_issues", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total issues: 2" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "custom", - "width": 12, - "height": 5, - "view": "github_view.display_view" - }, - "versions": "EQ(*)" - }, - { - "action": "list comments", - "identifier": "list_comments", - "description": "List comments for an issue on the GitHub repository", - "type": "investigate", - "read_only": true, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "issue_number": { - "description": "Issue ID", - "data_type": "numeric", - "required": true, - "primary": true, - "contains": [ - "github issue id" - ], - "order": 2 - }, - "limit": { - "description": "Maximum number of comments to be fetched", - "data_type": "numeric", - "order": 3 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.issue_number", - "data_type": "numeric", - "contains": [ - "github issue id" - ], - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.parameter.limit", - "data_type": "numeric" - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "column_name": "Repo Name", - "column_order": 0, - "example_values": [ - "TestingAPI" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "column_name": "Repo Owner", - "column_order": 1, - "example_values": [ - "repoowner" - ] - }, - { - "data_path": "action_result.data.*.author_association", - "data_type": "string", - "example_values": [ - "OWNER" - ] - }, - { - "data_path": "action_result.data.*.body", - "data_type": "string", - "example_values": [ - "I am writing a comment to this issue" - ], - "column_name": "Comment Body", - "column_order": 3 - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2019-07-16T19:52:27Z" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/1#issuecomment-511961016" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 511961016 - ] - }, - { - "data_path": "action_result.data.*.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDEyOklzc3VlQ29tbWVudDUxMTk2MTAxNg==" - ] - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2019-07-16T19:52:27Z" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511961016" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/52245234" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.id", - "data_type": "numeric", - "example_values": [ - 99999999 - ] - }, - { - "data_path": "action_result.data.*.user.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ], - "column_name": "User", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.total_comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Total comments: 1" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "get issue", - "identifier": "get_issue", - "description": "Retrieve an issue for the GitHub repository", - "type": "investigate", - "read_only": true, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "issue_number": { - "description": "Issue ID", - "data_type": "numeric", - "required": true, - "primary": true, - "contains": [ - "github issue id" - ], - "order": 2 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.issue_number", - "data_type": "numeric", - "contains": [ - "github issue id" - ], - "column_name": "Issue Number", - "column_order": 0, - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "column_name": "Repo Name", - "column_order": 5, - "example_values": [ - "TestingAPI" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "column_name": "Repo Owner", - "column_order": 6, - "example_values": [ - "repoowner" - ] - }, - { - "data_path": "action_result.data.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.assignee.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ], - "column_name": "Assignee", - "column_order": 4 - }, - { - "data_path": "action_result.data.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.author_association", - "data_type": "string", - "example_values": [ - "OWNER" - ] - }, - { - "data_path": "action_result.data.*.body", - "data_type": "string", - "example_values": [ - "This is the body I believe of the issue" - ], - "column_name": "Issue Body", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.closed_at", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.closed_by", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2019-07-16T19:52:15Z" - ] - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 468834090 - ] - }, - { - "data_path": "action_result.data.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.milestone", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6SXNzdWU0Njg4MzQwOTA=" - ] - }, - { - "data_path": "action_result.data.*.number", - "data_type": "numeric", - "example_values": [ - 1 - ], - "contains": [ - "github issue id" - ] - }, - { - "data_path": "action_result.data.*.repository_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.state", - "data_type": "string", - "example_values": [ - "open" - ], - "column_name": "Issue State", - "column_order": 3 - }, - { - "data_path": "action_result.data.*.title", - "data_type": "string", - "example_values": [ - "This is a Test Issue" - ], - "column_name": "Issue Title", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2019-07-16T20:00:23Z" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.user.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.issue_number", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.summary.issue_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/2" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.message", - "data_type": "string" - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "create issue", - "identifier": "create_issue", - "description": "Create an issue for the GitHub repository", - "verbose": "Only users with push access can set assignees/labels for the issues. \nAssignees/labels are silently dropped otherwise.", - "type": "generic", - "read_only": false, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "issue_title": { - "description": "Title of the issue", - "data_type": "string", - "required": true, - "order": 2 - }, - "issue_body": { - "description": "Contents of the issue", - "data_type": "string", - "order": 3 - }, - "assignees": { - "description": "Comma-separated list of logins (usernames) for the users to assign to this issue", - "data_type": "string", - "contains": [ - "github username" - ], - "order": 4, - "primary": true - }, - "labels": { - "description": "Comma-separated list of labels to associate with this issue", - "data_type": "string", - "order": 5 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.assignees", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.parameter.issue_body", - "data_type": "string", - "example_values": [ - "This is what the body looks like when testing from the app" - ] - }, - { - "data_path": "action_result.parameter.issue_title", - "data_type": "string", - "example_values": [ - "I am testing from the app" - ] - }, - { - "data_path": "action_result.parameter.labels", - "data_type": "string", - "example_values": [ - "test,multi-label,non-urgent" - ] - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "example_values": [ - "TestingAPI" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "example_values": [ - "repoowner" - ] - }, - { - "data_path": "action_result.data.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.assignee.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.author_association", - "data_type": "string", - "example_values": [ - "OWNER" - ] - }, - { - "data_path": "action_result.data.*.body", - "data_type": "string", - "example_values": [ - "This is what the body looks like when testing from the app" - ] - }, - { - "data_path": "action_result.data.*.closed_at", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.closed_by", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.comments", - "data_type": "numeric", - "example_values": [ - 0 - ] - }, - { - "data_path": "action_result.data.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2019-07-16T20:07:26Z" - ] - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/2" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 468840014 - ] - }, - { - "data_path": "action_result.data.*.labels.*.color", - "data_type": "string", - "example_values": [ - "ededed" - ] - }, - { - "data_path": "action_result.data.*.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.labels.*.id", - "data_type": "numeric", - "example_values": [ - 1454469929 - ] - }, - { - "data_path": "action_result.data.*.labels.*.name", - "data_type": "string", - "example_values": [ - "test" - ] - }, - { - "data_path": "action_result.data.*.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxNDU0NDY5OTI5" - ] - }, - { - "data_path": "action_result.data.*.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/labels/test" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.milestone", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6SXNzdWU0Njg4NDAwMTQ=" - ] - }, - { - "data_path": "action_result.data.*.number", - "data_type": "numeric", - "example_values": [ - 2 - ], - "contains": [ - "github issue id" - ] - }, - { - "data_path": "action_result.data.*.repository_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.state", - "data_type": "string", - "example_values": [ - "open" - ] - }, - { - "data_path": "action_result.data.*.title", - "data_type": "string", - "example_values": [ - "I am testing from the app" - ] - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2019-07-16T20:07:27Z" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.user.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.issue_number", - "data_type": "numeric", - "example_values": [ - 2 - ] - }, - { - "data_path": "action_result.summary.issue_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/2" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Issue number: 2, Issue url: https://github.com/repoowner/TestingAPI/issues/2" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "custom", - "width": 12, - "height": 5, - "view": "github_view.display_view" - }, - "versions": "EQ(*)" - }, - { - "action": "update issue", - "identifier": "update_issue", - "description": "Update an issue for the GitHub repository", - "verbose": "Only users with push access can set assignees/labels for new issues. \nAssignees/labels are silently dropped otherwise. The existing labels and assignees of the issue will be replaced with the labels and assignees provided in the respective input parameters by the user. If the to_empty parameter is checked, then, it will empty the field values of the issue (except for the title and the state of the issue) for which the parameter values are not provided or kept empty. If the to_empty parameter is not checked, then, it will simply ignore the empty parameter values from being updated on the issue.", - "type": "generic", - "read_only": false, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "issue_number": { - "description": "Issue ID", - "data_type": "numeric", - "required": true, - "primary": true, - "contains": [ - "github issue id" - ], - "order": 2 - }, - "state": { - "description": "State of the issue", - "data_type": "string", - "value_list": [ - "open", - "closed" - ], - "order": 3 - }, - "issue_title": { - "description": "Title of the issue", - "data_type": "string", - "order": 4 - }, - "issue_body": { - "description": "Contents of the issue", - "data_type": "string", - "order": 5 - }, - "assignees": { - "description": "Comma-separated list of logins (usernames) for the users to assign to this issue", - "data_type": "string", - "contains": [ - "github username" - ], - "order": 6, - "primary": true - }, - "labels": { - "description": "Comma-separated list of labels to associate with this issue", - "data_type": "string", - "order": 7 - }, - "to_empty": { - "description": "Empty the field values of the issue for which the parameter values are not provided", - "data_type": "boolean", - "default": false, - "order": 8 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.assignees", - "data_type": "string", - "example_values": [ - "testbg11" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.parameter.issue_body", - "data_type": "string", - "example_values": [ - "test update body" - ] - }, - { - "data_path": "action_result.parameter.issue_number", - "data_type": "numeric", - "contains": [ - "github issue id" - ], - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.parameter.issue_title", - "data_type": "string", - "example_values": [ - "update test title" - ] - }, - { - "data_path": "action_result.parameter.labels", - "data_type": "string", - "example_values": [ - "demo_update" - ] - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "example_values": [ - "Testing1" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "example_values": [ - "testbg11" - ] - }, - { - "data_path": "action_result.parameter.state", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.parameter.to_empty", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignee.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/53362718?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignee.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.id", - "data_type": "numeric", - "example_values": [ - 53362718 - ] - }, - { - "data_path": "action_result.data.*.assignee.login", - "data_type": "string", - "example_values": [ - "testbg11" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignee.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjUzMzYyNzE4" - ] - }, - { - "data_path": "action_result.data.*.assignee.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignee.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignee.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignee.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/53362718?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.assignees.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.id", - "data_type": "numeric", - "example_values": [ - 53362718 - ] - }, - { - "data_path": "action_result.data.*.assignees.*.login", - "data_type": "string", - "example_values": [ - "testbg11" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjUzMzYyNzE4" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.assignees.*.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.assignees.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.author_association", - "data_type": "string", - "example_values": [ - "OWNER" - ] - }, - { - "data_path": "action_result.data.*.body", - "data_type": "string", - "example_values": [ - "test update body" - ] - }, - { - "data_path": "action_result.data.*.closed_at", - "data_type": "string", - "example_values": [ - "2019-07-29T11:24:09Z" - ] - }, - { - "data_path": "action_result.data.*.closed_by.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/53362718?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.closed_by.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.id", - "data_type": "numeric", - "example_values": [ - 53362718 - ] - }, - { - "data_path": "action_result.data.*.closed_by.login", - "data_type": "string", - "example_values": [ - "testbg11" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.closed_by.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjUzMzYyNzE4" - ] - }, - { - "data_path": "action_result.data.*.closed_by.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.closed_by.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.closed_by.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.closed_by.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.comments", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.comments_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/testbg11/Testing1/issues/1/comments" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2019-07-27T05:42:57Z" - ] - }, - { - "data_path": "action_result.data.*.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/testbg11/Testing1/issues/1/events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/testbg11/Testing1/issues/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 473601979 - ] - }, - { - "data_path": "action_result.data.*.labels.*.color", - "data_type": "string", - "example_values": [ - "ededed" - ] - }, - { - "data_path": "action_result.data.*.labels.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.labels.*.id", - "data_type": "numeric", - "example_values": [ - 1474194162 - ] - }, - { - "data_path": "action_result.data.*.labels.*.name", - "data_type": "string", - "example_values": [ - "demo_update" - ] - }, - { - "data_path": "action_result.data.*.labels.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxNDc0MTk0MTYy" - ] - }, - { - "data_path": "action_result.data.*.labels.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/testbg11/Testing1/labels/demo_update" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.labels_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/testbg11/Testing1/issues/1/labels{/name}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.locked", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.milestone", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6SXNzdWU0NzM2MDE5Nzk=" - ] - }, - { - "data_path": "action_result.data.*.number", - "data_type": "numeric", - "contains": [ - "github issue id" - ], - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.data.*.repository_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/testbg11/Testing1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.state", - "data_type": "string", - "example_values": [ - "closed" - ] - }, - { - "data_path": "action_result.data.*.title", - "data_type": "string", - "example_values": [ - "update test title" - ] - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2019-07-29T11:27:10Z" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/testbg11/Testing1/issues/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/53362718?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.id", - "data_type": "numeric", - "example_values": [ - 53362718 - ] - }, - { - "data_path": "action_result.data.*.user.login", - "data_type": "string", - "example_values": [ - "testbg11" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjUzMzYyNzE4" - ] - }, - { - "data_path": "action_result.data.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/testbg11" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.issue_number", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.summary.issue_url", - "data_type": "string", - "example_values": [ - "https://github.com/testbg11/Testing1/issues/1" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Issue number: 1, Issue url: https://github.com/testbg11/Testing1/issues/1" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "custom", - "width": 12, - "height": 5, - "view": "github_view.display_view" - }, - "versions": "EQ(*)" - }, - { - "action": "create comment", - "identifier": "create_comment", - "description": "Create a comment for an issue on the GitHub repository", - "type": "generic", - "read_only": false, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "issue_number": { - "description": "Issue ID", - "data_type": "numeric", - "required": true, - "primary": true, - "contains": [ - "github issue id" - ], - "order": 2 - }, - "comment_body": { - "description": "Contents of a comment to add to the issue", - "data_type": "string", - "required": true, - "order": 3 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.comment_body", - "data_type": "string", - "example_values": [ - "I am adding a comment from the app" - ], - "column_name": "Comment Body", - "column_order": 2 - }, - { - "data_path": "action_result.parameter.issue_number", - "data_type": "numeric", - "contains": [ - "github issue id" - ], - "example_values": [ - 2 - ], - "column_name": "Issue Number", - "column_order": 0 - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "column_name": "Repo Name", - "column_order": 4, - "example_values": [ - "TestingAPI" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "column_name": "Repo Owner", - "column_order": 5, - "example_values": [ - "repoowner" - ] - }, - { - "data_path": "action_result.data.*.author_association", - "data_type": "string", - "example_values": [ - "OWNER" - ] - }, - { - "data_path": "action_result.data.*.body", - "data_type": "string", - "example_values": [ - "I am adding a comment from the app" - ] - }, - { - "data_path": "action_result.data.*.created_at", - "data_type": "string", - "example_values": [ - "2019-07-16T20:11:38Z" - ], - "column_name": "Created At", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 511967194 - ] - }, - { - "data_path": "action_result.data.*.issue_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDEyOklzc3VlQ29tbWVudDUxMTk2NzE5NA==" - ] - }, - { - "data_path": "action_result.data.*.updated_at", - "data_type": "string", - "example_values": [ - "2019-07-16T20:11:38Z" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511967194" - ], - "contains": [ - "url" - ], - "column_name": "Comment URL", - "column_order": 3 - }, - { - "data_path": "action_result.data.*.user.avatar_url", - "data_type": "string", - "example_values": [ - "https://avatars3.githubusercontent.com/u/11890709?v=4" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/events{/privacy}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.followers_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/followers" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.following_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gists_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/gists{/gist_id}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.gravatar_id", - "data_type": "string" - }, - { - "data_path": "action_result.data.*.user.html_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.id", - "data_type": "numeric", - "example_values": [ - 11890709 - ] - }, - { - "data_path": "action_result.data.*.user.login", - "data_type": "string", - "example_values": [ - "repoowner" - ], - "contains": [ - "github username" - ] - }, - { - "data_path": "action_result.data.*.user.node_id", - "data_type": "string", - "example_values": [ - "MDQ6VXNlcjExODkwNzA5" - ] - }, - { - "data_path": "action_result.data.*.user.organizations_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/orgs" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.received_events_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/received_events" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.repos_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/repos" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.site_admin", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.user.starred_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.subscriptions_url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner/subscriptions" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.data.*.user.type", - "data_type": "string", - "example_values": [ - "User" - ] - }, - { - "data_path": "action_result.data.*.user.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/users/repoowner" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.summary.comment_id", - "data_type": "numeric", - "example_values": [ - 511967194 - ] - }, - { - "data_path": "action_result.summary.comment_url", - "data_type": "string", - "example_values": [ - "https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194" - ], - "contains": [ - "url" - ] - }, - { - "data_path": "action_result.message", - "data_type": "string", - "example_values": [ - "Comment id: 511967194, Comment url: https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194" - ] - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - }, - { - "action": "add labels", - "identifier": "add_labels", - "description": "Add label(s) to an issue on the GitHub repository", - "verbose": "Only users with push access can set labels for the issues.", - "type": "generic", - "read_only": false, - "parameters": { - "repo_owner": { - "description": "Owner of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo owner", - "github username" - ], - "order": 0 - }, - "repo_name": { - "description": "Name of the repository", - "data_type": "string", - "required": true, - "primary": true, - "contains": [ - "github repo" - ], - "order": 1 - }, - "issue_number": { - "description": "Issue ID", - "data_type": "numeric", - "required": true, - "primary": true, - "contains": [ - "github issue id" - ], - "order": 2 - }, - "labels": { - "description": "Comma-separated list of labels to add to the issue", - "data_type": "string", - "required": true, - "order": 3 - } - }, - "output": [ - { - "data_path": "action_result.status", - "data_type": "string", - "example_values": [ - "success", - "failed" - ] - }, - { - "data_path": "action_result.parameter.issue_number", - "data_type": "numeric", - "contains": [ - "github issue id" - ], - "column_name": "Issue Number", - "column_order": 0, - "example_values": [ - 1 - ] - }, - { - "data_path": "action_result.parameter.labels", - "data_type": "string", - "example_values": [ - "test,Splunk,app-testing" - ] - }, - { - "data_path": "action_result.parameter.repo_name", - "data_type": "string", - "contains": [ - "github repo" - ], - "column_name": "Repo Name", - "column_order": 4, - "example_values": [ - "TestingAPI" - ] - }, - { - "data_path": "action_result.parameter.repo_owner", - "data_type": "string", - "contains": [ - "github repo owner", - "github username" - ], - "column_name": "Repo Owner", - "column_order": 5, - "example_values": [ - "repoowner" - ] - }, - { - "data_path": "action_result.data.*.color", - "data_type": "string", - "example_values": [ - "ededed" - ], - "column_name": "Color", - "column_order": 2 - }, - { - "data_path": "action_result.data.*.default", - "data_type": "boolean", - "example_values": [ - true, - false - ] - }, - { - "data_path": "action_result.data.*.id", - "data_type": "numeric", - "example_values": [ - 1454479580 - ] - }, - { - "data_path": "action_result.data.*.name", - "data_type": "string", - "example_values": [ - "app-testing" - ], - "column_name": "Label Name", - "column_order": 1 - }, - { - "data_path": "action_result.data.*.node_id", - "data_type": "string", - "example_values": [ - "MDU6TGFiZWwxNDU0NDc5NTgw" - ] - }, - { - "data_path": "action_result.data.*.url", - "data_type": "string", - "example_values": [ - "https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing" - ], - "contains": [ - "url" - ], - "column_name": "Labels URL", - "column_order": 3 - }, - { - "data_path": "action_result.summary", - "data_type": "string" - }, - { - "data_path": "action_result.message", - "data_type": "string" - }, - { - "data_path": "summary.total_objects", - "data_type": "numeric", - "example_values": [ - 1 - ] - }, - { - "data_path": "summary.total_objects_successful", - "data_type": "numeric", - "example_values": [ - 1 - ] - } - ], - "render": { - "type": "table" - }, - "versions": "EQ(*)" - } - ], - "pip39_dependencies": { - "wheel": [] - }, - "pip313_dependencies": { - "wheel": [] - } -} diff --git a/github_connector.py b/github_connector.py deleted file mode 100644 index f6b00ab..0000000 --- a/github_connector.py +++ /dev/null @@ -1,1900 +0,0 @@ -# File: github_connector.py -# -# Copyright (c) 2019-2025 Splunk Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under -# the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, -# either express or implied. See the License for the specific language governing permissions -# and limitations under the License. -import grp -import json -import os -import pwd -import sys -import time - -import phantom.app as phantom -import requests -from bs4 import BeautifulSoup, UnicodeDammit -from django.http import HttpResponse -from phantom.action_result import ActionResult -from phantom.base_connector import BaseConnector - -from github_consts import * - - -def _handle_login_redirect(request, key): - """This function is used to redirect login request to GitHub login page. - - :param request: Data given to REST endpoint - :param key: Key to search in state file - :return: response authorization_url/admin_consent_url - """ - - asset_id = request.GET.get("asset_id") - if not asset_id: - return HttpResponse("ERROR: Asset ID not found in URL", content_type="text/plain", status=400) - state = _load_app_state(asset_id) - if not state: - return HttpResponse("ERROR: Invalid asset_id", content_type="text/plain", status=400) - url = state.get(key) - if not url: - return HttpResponse(f"App state is invalid, {key} not found.", content_type="text/plain", status=400) - response = HttpResponse(status=302) - response["Location"] = url - return response - - -def _load_app_state(asset_id, app_connector=None): - """This function is used to load the current state file. - - :param asset_id: asset_id - :param app_connector: Object of app_connector class - :return: state: Current state file as a dictionary - """ - - asset_id = str(asset_id) - if not asset_id or not asset_id.isalnum(): - if app_connector: - app_connector.debug_print("In _load_app_state: Invalid asset_id") - return {} - - app_dir = os.path.dirname(os.path.abspath(__file__)) - state_file = f"{app_dir}/{asset_id}_state.json" - real_state_file_path = os.path.abspath(state_file) - if not os.path.dirname(real_state_file_path) == app_dir: - if app_connector: - app_connector.debug_print("In _load_app_state: Invalid asset_id") - return {} - - state = {} - try: - with open(real_state_file_path) as state_file_obj: - state_file_data = state_file_obj.read() - state = json.loads(state_file_data) - except Exception as e: - if app_connector: - app_connector.debug_print(f"In _load_app_state: Exception: {e!s}") - - if app_connector: - app_connector.debug_print("Loaded state: ", state) - - return state - - -def _save_app_state(state, asset_id, app_connector): - """This function is used to save current state in file. - - :param state: Dictionary which contains data to write in state file - :param asset_id: asset_id - :param app_connector: Object of app_connector class - :return: status: phantom.APP_SUCCESS - """ - - asset_id = str(asset_id) - if not asset_id or not asset_id.isalnum(): - if app_connector: - app_connector.debug_print("In _save_app_state: Invalid asset_id") - return {} - - app_dir = os.path.split(__file__)[0] - state_file = f"{app_dir}/{asset_id}_state.json" - - real_state_file_path = os.path.abspath(state_file) - if not os.path.dirname(real_state_file_path) == app_dir: - if app_connector: - app_connector.debug_print("In _save_app_state: Invalid asset_id") - return {} - - if app_connector: - app_connector.debug_print("Saving state: ", state) - - try: - with open(real_state_file_path, "w+") as state_file_obj: - state_file_obj.write(json.dumps(state)) - except Exception as e: - print(f"Unable to save state file: {e!s}") - - return phantom.APP_SUCCESS - - -def _handle_login_response(request): - """This function is used to get the login response of authorization request from GitHub login page. - - :param request: Data given to REST endpoint - :return: HttpResponse. The response displayed on authorization URL page - """ - - asset_id = request.GET.get("state") - if not asset_id: - return HttpResponse(f"ERROR: Asset ID not found in URL\n{json.dumps(request.GET)}", content_type="text/plain", status=400) - - # Check for error in URL - error = request.GET.get("error") - error_description = request.GET.get("error_description") - - # If there is an error in response - if error: - message = f"Error: {error}" - if error_description: - message = f"{message} Details: {error_description}" - return HttpResponse(f"Server returned {message}", content_type="text/plain", status=400) - - code = request.GET.get("code") - - # If code is not available - if not code: - return HttpResponse(f"Error while authenticating\n{json.dumps(request.GET)}", content_type="text/plain", status=400) - - state = _load_app_state(asset_id) - state["code"] = code - _save_app_state(state, asset_id, None) - - return HttpResponse("Code received. Please close this window, the action will continue to get new token.", content_type="text/plain") - - -def _handle_rest_request(request, path_parts): - """Handle requests for authorization. - - :param request: Data given to REST endpoint - :param path_parts: Parts of the URL passed - :return: Dictionary containing response parameters - """ - - if len(path_parts) < 2: - return HttpResponse("error: True, message: Invalid REST endpoint request", content_type="text/plain", status=404) - - call_type = path_parts[1] - - # To handle authorize request in test connectivity action - if call_type == "start_oauth": - return _handle_login_redirect(request, "authorization_url") - - # To handle response from GitHub login page - if call_type == "result": - return_val = _handle_login_response(request) - # ruleid: path-traversal-open - asset_id = request.GET.get("state") # nosemgrep - if asset_id and asset_id.isalnum(): - app_dir = os.path.dirname(os.path.abspath(__file__)) - auth_status_file_path = f"{app_dir}/{asset_id}_{GITHUB_TC_FILE}" - real_auth_status_file_path = os.path.abspath(auth_status_file_path) - if not os.path.dirname(real_auth_status_file_path) == app_dir: - return HttpResponse("Error: Invalid asset_id", content_type="text/plain", status=400) - open(auth_status_file_path, "w").close() - try: - uid = pwd.getpwnam("apache").pw_uid - gid = grp.getgrnam("phantom").gr_gid - os.chown(auth_status_file_path, uid, gid) - os.chmod(auth_status_file_path, "0664") - except: - pass - - return return_val - return HttpResponse("error: Invalid endpoint", content_type="text/plain", status=404) - - -def _get_dir_name_from_app_name(app_name): - """Get name of the directory for the app. - - :param app_name: Name of the application for which directory name is required - :return: app_name: Name of the directory for the application - """ - - app_name = "".join([x for x in app_name if x.isalnum()]) - app_name = app_name.lower() - if not app_name: - app_name = "app_for_phantom" - return app_name - - -class RetVal(tuple): - def __new__(cls, val1, val2=None): - return tuple.__new__(RetVal, (val1, val2)) - - -class GithubConnector(BaseConnector): - def __init__(self): - super().__init__() - - self._state = None - self._username = None - self._password = None - self._client_id = None - self._client_secret = None - self._oauth_token = None - self._access_token = None - - def _process_empty_response(self, response, action_result): - """This function is used to process empty response. - - :param response: Response data - :param action_result: Object of Action Result - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message) - """ - - # 204 is for action like 'remove member' - if response.status_code in [200, 204]: - return RetVal(phantom.APP_SUCCESS, {}) - - return RetVal(action_result.set_status(phantom.APP_ERROR, "Empty response and no information in the header"), None) - - def _process_html_response(self, response, action_result): - """This function is used to process html response. - - :param response: Response data - :param action_result: Object of Action Result - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message) - """ - - # An html response, treat it like an error - status_code = response.status_code - - try: - soup = BeautifulSoup(response.text, "html.parser") - - # Remove the script, style, footer and navigation part from the HTML message - for element in soup(["script", "style", "footer", "nav"]): - element.extract() - - error_text = soup.text - split_lines = error_text.split("\n") - split_lines = [x.strip() for x in split_lines if x.strip()] - error_text = "\n".join(split_lines) - except: - error_text = "Cannot parse error details" - - message = f"Status Code: {status_code}. Data from server:\n{self._handle_py_ver_compat_for_input_str(error_text)}\n" - - message = message.replace("{", "{{").replace("}", "}}") - - if len(message) > 500: - message = "Error while connecting to the server. Please check the asset credentials." - - return RetVal(action_result.set_status(phantom.APP_ERROR, message), None) - - def _process_json_response(self, response, action_result): - """This function is used to process json response. - - :param response: Response data - :param action_result: Object of Action Result - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message) - """ - - # Try a json parse - try: - resp_json = response.json() - except Exception as e: - error_code, error_message = self._get_error_message_from_exception(e) - return RetVal( - action_result.set_status(phantom.APP_ERROR, f"Unable to parse JSON response. Code: {error_code}. Error: {error_message}"), None - ) - - if 200 <= response.status_code < 399: - return RetVal(phantom.APP_SUCCESS, resp_json) - - message = None - - if resp_json.get("message"): - message = "Error from server. Status Code: {} Data from server: {}".format( - response.status_code, self._handle_py_ver_compat_for_input_str(resp_json["message"]) - ) - - if not message: - message = "Error from server. Status Code: {} Data from server: {}".format( - response.status_code, self._handle_py_ver_compat_for_input_str(response.text.replace("{", "{{").replace("}", "}}")) - ) - - return RetVal(action_result.set_status(phantom.APP_ERROR, message), None) - - def _process_response(self, response, action_result): - """This function is used to process html response. - - :param response: Response data - :param action_result: Object of Action Result - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message) - """ - - # store the r_text in debug data, it will get dumped in the logs if the action fails - if hasattr(action_result, "add_debug_data"): - action_result.add_debug_data({"r_status_code": response.status_code}) - action_result.add_debug_data({"r_text": response.text}) - action_result.add_debug_data({"r_headers": response.headers}) - - # Process each 'Content-Type' of response separately - - # Process a json response - if "json" in response.headers.get("Content-Type", ""): - return self._process_json_response(response, action_result) - - if "text/javascript" in response.headers.get("Content-Type", ""): - return self._process_json_response(response, action_result) - - # Process an HTML response, Do this no matter what the API talks. - # There is a high chance of a PROXY in between phantom and the rest of - # world, in case of errors, PROXY's return HTML, this function parses - # the error and adds it to the action_result. - if "html" in response.headers.get("Content-Type", ""): - return self._process_html_response(response, action_result) - - # if no content-type is to be parsed, handle an empty response - if not response.text: - return self._process_empty_response(response, action_result) - - # everything else is actually an error at this point - message = "Can't process response from server. Status Code: {} Data from server: {}".format( - response.status_code, self._handle_py_ver_compat_for_input_str(response.text.replace("{", "{{").replace("}", "}}")) - ) - - return RetVal(action_result.set_status(phantom.APP_ERROR, message), None) - - def _handle_py_ver_compat_for_input_str(self, input_str, always_encode=False): - """ - This method returns the encoded|original string based on the Python version. - :param input_str: Input string to be processed - :return: input_str (Processed input string based on following logic 'input_str - Python 3; encoded input_str - Python 2') - """ - - try: - if input_str and (self._python_version == 2 or always_encode): - input_str = UnicodeDammit(input_str).unicode_markup.encode("utf-8") - except: - self.debug_print("Error occurred while handling python 2to3 compatibility for the input string") - - return input_str - - def _get_error_message_from_exception(self, e): - """This method is used to get appropriate error message from the exception. - :param e: Exception object - :return: error message - """ - - error_code = "Error code unavailable" - error_message = "Unknown error occurred. Please check the asset configuration and|or action parameters." - try: - if e.args: - if len(e.args) > 1: - error_code = e.args[0] - error_message = e.args[1] - elif len(e.args) == 1: - error_message = e.args[0] - except Exception: - pass - - try: - error_message = self._handle_py_ver_compat_for_input_str(error_message) - except TypeError: - error_message = ( - "Error occurred while connecting to the GitHub server. Please check the asset configuration and|or the action parameters." - ) - except Exception: - error_message = "Unknown error occurred. Please check the asset configuration and|or action parameters." - - return error_code, error_message - - def _make_rest_call(self, url, action_result, headers=None, params=None, data=None, method="get", auth=None, verify=True): - """This function is used to make the REST call. - - :param url: REST URL that needs to be called - :param action_result: Object of ActionResult class - :param headers: Request headers - :param params: Request parameters - :param data: Request body - :param method: GET/POST/PUT/DELETE/PATCH (Default will be GET) - :param auth: Authentication of the API - :param verify: Verify server certificate (Default True) - :return: Status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message), - response obtained by making an API call - """ - - resp_json = None - - try: - request_func = getattr(requests, method) - except AttributeError: - return RetVal(action_result.set_status(phantom.APP_ERROR, f"Invalid method: {method}"), resp_json) - - try: - request_response = request_func(url, auth=auth, data=data, headers=headers, verify=verify, params=params) - except Exception as e: - error_code, error_message = self._get_error_message_from_exception(e) - return RetVal( - action_result.set_status(phantom.APP_ERROR, f"Error Connecting to server. Code: {error_code}. Details: {error_message}"), - resp_json, - ) - - return self._process_response(request_response, action_result) - - def _handle_update_request(self, url, action_result, headers=None, data=None, params=None, verify=True, method="get"): - """This method is used to call make_rest_call using different authentication methods. - - :param url: REST URL that needs to be called - :param action_result: Object of ActionResult class - :param headers: Request headers - :param data: Request data - :param params: Request params - :param verify: Verify server certificate(Default: True) - :param method: GET/POST/PUT/DELETE/PATCH (Default will be GET) - :return: Status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message), - response obtained by making an API call - """ - - # If username and password are provided, call using basic auth - if self._username and self._password: - ret_val, response = self._make_rest_call( - url=url, - action_result=action_result, - headers=headers, - data=data, - params=params, - verify=verify, - method=method, - auth=(self._handle_py_ver_compat_for_input_str(self._username, always_encode=True), self._password), - ) - - if phantom.is_fail(ret_val): - # If error is not 401 or other config parameters are not provided, return error - if "401" not in action_result.get_message() or not (self._oauth_token or self._access_token): - return action_result.get_status(), None - else: - return phantom.APP_SUCCESS, response - - # If personal access token is provided - if self._oauth_token: - # Personal access token is passed as a password and username is not required - ret_val, response = self._make_rest_call( - url=url, - action_result=action_result, - headers=headers, - data=data, - params=params, - verify=verify, - method=method, - auth=(None, self._oauth_token), - ) - - if phantom.is_fail(ret_val): - # If error is not 401 or other config parameters are not provided, return error - if "401" not in action_result.get_message() or not self._access_token: - return action_result.get_status(), None - else: - return phantom.APP_SUCCESS, response - - if self._access_token: - if not headers: - headers = {} - # Pass access token in headers - headers.update({"Authorization": f"Bearer {self._access_token}"}) - - ret_val, response = self._make_rest_call( - url=url, action_result=action_result, headers=headers, data=data, params=params, verify=verify, method=method - ) - - if phantom.is_fail(ret_val): - return action_result.get_status(), None - - return phantom.APP_SUCCESS, response - - return action_result.set_status(phantom.APP_ERROR, status_message="Authentication failed"), None - - def _handle_test_connectivity(self, param): - """This function is used to handle the test connectivity action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - action_result = self.add_action_result(ActionResult(dict(param))) - app_state = {} - # If none of the config parameters are present, return error - if not (self._username and self._password) and not (self._client_id and self._client_secret) and not self._oauth_token: - self.save_progress(GITHUB_TEST_CONNECTIVITY_FAILED_MSG) - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED_CONNECTIVITY) - - self.save_progress(GITHUB_MAKING_CONNECTION_MSG) - - url = f"{GITHUB_API_BASE_URL}{GITHUB_CURRENT_USER_ENDPOINT}" - - if self._username and self._password: - # make rest call - ret_val, _ = self._make_rest_call( - url=url, - action_result=action_result, - auth=(self._handle_py_ver_compat_for_input_str(self._username, always_encode=True), self._password), - ) - - if phantom.is_fail(ret_val): - # If error is not 401 or other config parameters are not provided, return error - if "401" not in action_result.get_message() or not (self._oauth_token or (self._client_id and self._client_secret)): - self.save_progress(GITHUB_TEST_CONNECTIVITY_FAILED_MSG) - return action_result.get_status() - else: - self.save_progress(GITHUB_TEST_CONNECTIVITY_PASSED_MSG) - return action_result.set_status(phantom.APP_SUCCESS) - - if self._oauth_token: - ret_val, _ = self._make_rest_call(url=url, action_result=action_result, auth=(None, self._oauth_token)) - - if phantom.is_fail(ret_val): - # If error is not 401 or other config parameters are not provided, return error - if "401" not in action_result.get_message() or not (self._client_id and self._client_secret): - self.save_progress(GITHUB_TEST_CONNECTIVITY_FAILED_MSG) - return action_result.get_status() - else: - self.save_progress(GITHUB_TEST_CONNECTIVITY_PASSED_MSG) - return action_result.set_status(phantom.APP_SUCCESS) - - if self._client_id and self._client_secret: - # If client_id and client_secret is provided, go for interactive login - ret_val = self._handle_interactive_login(app_state=app_state, action_result=action_result) - - if phantom.is_fail(ret_val): - self.save_progress(GITHUB_TEST_CONNECTIVITY_FAILED_MSG) - return action_result.get_status() - - # Call using access_token - request_headers = {"Authorization": f"Bearer {self._access_token}"} - ret_val, _ = self._make_rest_call(url=url, action_result=action_result, headers=request_headers) - - if phantom.is_fail(ret_val): - self.save_progress(GITHUB_TEST_CONNECTIVITY_FAILED_MSG) - return action_result.get_status() - - self.save_progress(GITHUB_TEST_CONNECTIVITY_PASSED_MSG) - return action_result.set_status(phantom.APP_SUCCESS) - - return action_result.set_status(phantom.APP_ERROR, status_message="Authentication failed") - - def _handle_interactive_login(self, app_state, action_result): - """This function is used to handle the interactive login during test connectivity - while client_id and client_secret is provided. - - :param action_result: Object of ActionResult class - :return: status(success/failure) - """ - - ret_val, app_rest_url = self._get_app_rest_url(action_result) - if phantom.is_fail(ret_val): - return action_result.get_status() - - # Append /result to create redirect_uri - redirect_uri = f"{app_rest_url}/result" - app_state["redirect_uri"] = redirect_uri - - self.save_progress(GITHUB_OAUTH_URL_MSG) - self.save_progress(redirect_uri) - - asset_id = self.get_asset_id() - - # Authorization URL used to make request for getting code which is used to generate access token - authorization_url = GITHUB_AUTHORIZE_URL.format(client_id=self._client_id, scope=GITHUB_SCOPE, state=asset_id) - - app_state["authorization_url"] = authorization_url - - # URL which would be shown to the user - url_for_authorize_request = f"{app_rest_url}/start_oauth?asset_id={asset_id}&" - _save_app_state(app_state, asset_id, self) - - self.save_progress(GITHUB_AUTHORIZE_USER_MSG) - self.save_progress(url_for_authorize_request) # nosemgrep - - # Wait for 15 seconds for authorization - time.sleep(GITHUB_AUTHORIZE_WAIT_TIME) - - # Wait for 105 seconds while user login to GitHub - status = self._wait(action_result=action_result) - - # Empty message to override last message of waiting - self.send_progress("") - if phantom.is_fail(status): - return action_result.get_status() - - self.save_progress(GITHUB_CODE_RECEIVED_MSG) - self._state = _load_app_state(asset_id, self) - - # if code is not available in the state file - if not self._state or not self._state.get("code"): - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_TEST_CONNECTIVITY_FAILED_MSG) - - current_code = self._state["code"] - self.save_state(self._state) - _save_app_state(self._state, asset_id, self) - - self.save_progress(GITHUB_GENERATING_ACCESS_TOKEN_MSG) - - # Generate access_token using code - request_data = {"client_id": self._client_id, "client_secret": self._client_secret, "code": current_code} - - request_headers = {"Accept": "application/json"} - - ret_val, response = self._make_rest_call( - url=GITHUB_ACCESS_TOKEN_URL, action_result=action_result, method="post", data=request_data, headers=request_headers - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - # If there is any error while generating access_token, API returns 200 with error and error_description fields - if not response.get(GITHUB_ACCESS_TOKEN): - if response.get("error_description"): - return action_result.set_status(phantom.APP_ERROR, status_message=response["error_description"]) - - return action_result.set_status(phantom.APP_ERROR, status_message="Error while generating access_token") - - self._state["token"] = response - self._access_token = response[GITHUB_ACCESS_TOKEN] - - self.save_state(self._state) - _save_app_state(self._state, asset_id, self) - - self._state = self.load_state() - - # Scenario - - # - # If the corresponding state file doesn't have correct owner, owner group or permissions, - # the newly generated token is not being saved to state file and automatic workflow for token has been stopped. - # So we have to check that token from response and token which are saved to state file - # after successful generation of new token are same or not. - - if self._access_token != self._state.get("token", {}).get(GITHUB_ACCESS_TOKEN): - message = "Error occurred while saving the newly generated access token (in place of the expired token) in the state file." - message += " Please check the owner, owner group, and the permissions of the state file. The Phantom " - message += "user should have the correct access rights and ownership " - message += "for the corresponding state file (refer to readme file for more information)." - return action_result.set_status(phantom.APP_ERROR, message) - - return phantom.APP_SUCCESS - - def _get_app_rest_url(self, action_result): - """Get URL for making rest calls. - - :param action_result: object of ActionResult class - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message), - URL to make rest calls - """ - - ret_val, phantom_base_url = self._get_phantom_base_url_github(action_result) - if phantom.is_fail(ret_val): - return action_result.get_status(), None - - ret_val, asset_name = self._get_asset_name(action_result) - if phantom.is_fail(ret_val): - return action_result.get_status(), None - - self.save_progress(f"Using Phantom base URL as: {phantom_base_url}") - app_json = self.get_app_json() - app_name = app_json["name"] - - app_dir_name = _get_dir_name_from_app_name(app_name) - url_to_app_rest = "{}/rest/handler/{}_{}/{}".format(phantom_base_url, app_dir_name, app_json["appid"], asset_name) - return phantom.APP_SUCCESS, url_to_app_rest - - def _get_phantom_base_url_github(self, action_result): - """Get base url of phantom. - - :param action_result: object of ActionResult class - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message), - base url of phantom - """ - - url = f"{GITHUB_PHANTOM_BASE_URL.format(phantom_base_url=self._get_phantom_base_url())}{GITHUB_PHANTOM_SYS_INFO_URL}" - ret_val, resp_json = self._make_rest_call(action_result=action_result, url=url, verify=False) - if phantom.is_fail(ret_val): - return ret_val, None - - phantom_base_url = resp_json.get("base_url") - if not phantom_base_url: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_BASE_URL_NOT_FOUND_MSG), None - return phantom.APP_SUCCESS, phantom_base_url.rstrip("/") - - def _get_asset_name(self, action_result): - """Get name of the asset using Phantom URL. - - :param action_result: object of ActionResult class - :return: status phantom.APP_ERROR/phantom.APP_SUCCESS(along with appropriate message), asset name - """ - - asset_id = self.get_asset_id() - rest_endpoint = GITHUB_PHANTOM_ASSET_INFO_URL.format(asset_id=asset_id) - url = f"{GITHUB_PHANTOM_BASE_URL.format(phantom_base_url=self._get_phantom_base_url())}{rest_endpoint}" - ret_val, resp_json = self._make_rest_call(action_result=action_result, url=url, verify=False) - - if phantom.is_fail(ret_val): - return ret_val, None - - asset_name = resp_json.get("name") - if not asset_name: - return action_result.set_status(phantom.APP_ERROR, status_message=f"Asset Name for id: {asset_id} not found."), None - return phantom.APP_SUCCESS, asset_name - - def _wait(self, action_result): - """This function is used to hold the action till user login for 105 seconds. - - :param action_result: Object of ActionResult class - :return: status (success/failed) - """ - - app_dir = os.path.dirname(os.path.abspath(__file__)) - # file to check whether the request has been granted or not - auth_status_file_path = f"{app_dir}/{self.get_asset_id()}_{GITHUB_TC_FILE}" - - # wait-time while request is being granted for 105 seconds - for _ in range(0, 35): - self.send_progress("Waiting...") - # If file is generated - if os.path.isfile(auth_status_file_path): - os.unlink(auth_status_file_path) - break - time.sleep(GITHUB_TC_STATUS_SLEEP) - else: - self.send_progress("") - return action_result.set_status(phantom.APP_ERROR, status_message="Timeout. Please try again later.") - self.send_progress("Authenticated") - return phantom.APP_SUCCESS - - def _validate_integer(self, action_result, parameter, key, allow_zero=False): - try: - if not float(parameter).is_integer(): - return action_result.set_status(phantom.APP_ERROR, f"Please provide a valid integer value in the '{key}' parameter"), None - - parameter = int(parameter) - except: - return action_result.set_status(phantom.APP_ERROR, f"Please provide a valid integer value in the '{key}' parameter"), None - - if not allow_zero and parameter <= 0: - return action_result.set_status(phantom.APP_ERROR, GITHUB_INVALID_INTEGER.format(parameter=key)), None - elif allow_zero and parameter < 0: - return action_result.set_status( - phantom.APP_ERROR, f"Please provide a valid non-negative integer value in the '{key}' parameter" - ), None - - return phantom.APP_SUCCESS, parameter - - def _handle_list_events(self, param): - """This function is used to handle list events action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - username = self._handle_py_ver_compat_for_input_str(param[GITHUB_CONFIG_USERNAME]) - - url = f"{GITHUB_API_BASE_URL}{GITHUB_EVENTS_ENDPOINT.format(username=username)}" - per_page = GITHUB_PAGINATION_MAX_SIZE - page = 1 - - while True: - request_params = {"per_page": per_page, "page": page} - ret_val, response = self._handle_update_request(url=url, action_result=action_result, params=request_params) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - for item in response: - action_result.add_data(item) - - # If response size is less than we asked for, - # it is a last page of the response - if len(response) < GITHUB_PAGINATION_MAX_SIZE: - break - page += 1 - - # API returns only past 300 events - # So 100 events per page, page = 3 should be our last iteration - if page > 3: - break - - summary = action_result.update_summary({}) - summary["total_events"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_list_users(self, param): - """This function is used to handle list users action. - - :param param: Dictionary of input parameters - :return: status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - organization_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_ORGANIZATION]) - limit = param.get("limit") - - if limit is not None: - ret_val, limit = self._validate_integer(action_result, limit, "limit") - if phantom.is_fail(ret_val): - return action_result.get_status() - - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_USERS_ENDPOINT.format(organization_name=organization_name)}" - - user_list = self._get_list_response(url=url, action_result=action_result, limit=limit) - - # If None is returned, action is failed. - # For empty list action is successful - if user_list is None: - return action_result.get_status() - - for user in user_list: - action_result.add_data(user) - - summary = action_result.update_summary({}) - summary["total_users"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_remove_collaborator(self, param): - """This function is used to handle the remove collaborator action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - repo = f"{repo_owner}/{repo_name}" - user = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_USER]) - - # 2. Check if the user not a collaborator to the repo - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo)}" - params = {GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT} - list_collaborators_direct = self._get_list_response(url, action_result, params) - - # If None is returned, action is failed. - # For empty list action is successful - if list_collaborators_direct is None: - return action_result.get_status() - - for collaborator in list_collaborators_direct: - if user.lower() == collaborator.get(GITHUB_JSON_LOGIN).lower(): - break - else: - # Check if user is not a direct collaborator, if any pending invitations exist, - # delete the pending invitations - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format(repo_full_name=repo)}" - list_collaborators_pending_invitations = self._get_list_response(url, action_result) - - # If None is returned, action is failed. - # For empty list action is successful - if list_collaborators_pending_invitations is None: - return action_result.get_status() - - invite_deleted = False - for invitation in list_collaborators_pending_invitations: - # Delete all pending invitations to the user being removed as a collaborator - if user.lower() == invitation.get(GITHUB_JSON_INVITEE).get(GITHUB_JSON_LOGIN).lower(): - url = "{}{}".format( - GITHUB_API_BASE_URL, - GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( - repo_full_name=repo, invitation_id=invitation.get(GITHUB_JSON_ID) - ), - ) - - ret_val, _ = self._handle_update_request(url=url, action_result=action_result, method=GITHUB_REQUEST_DELETE) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - invite_deleted = True - - action_result.add_data({GITHUB_JSON_INVITE_DELETED: invite_deleted}) - if invite_deleted: - return action_result.set_status( - phantom.APP_SUCCESS, GITHUB_COLLABORATOR_INVITATION_DELETED_MSG.format(user_name=user, repo_full_name=repo) - ) - - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_USER_NOT_COLLABORATOR_MSG.format(user_name=user, repo_full_name=repo)) - - # 3. Endpoint for remove user as a collaborator to the provided repo - url = f"{GITHUB_API_BASE_URL}{GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format(repo_full_name=repo, user_name=user)}" - - # make rest call - ret_val, response_json = self._handle_update_request(url=url, action_result=action_result, method=GITHUB_REQUEST_DELETE) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data({GITHUB_JSON_INVITE_DELETED: False}) - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_COLLABORATOR_REMOVED_MSG.format(repo_full_name=repo, user_name=user)) - - def _handle_add_collaborator(self, param): - """This function is used to handle the add collaborator action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - override = param.get(GITHUB_JSON_OVERRIDE, False) - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - repo = f"{repo_owner}/{repo_name}" - user = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_USER]) - - # Default role is 'push' if repo role is not provided or incorrect repo role is provided by the user - role = param.get(GITHUB_JSON_ROLE, GITHUB_REPO_ROLE_PUSH).lower() - - role_mapping_dict = dict() - role_mapping_dict[GITHUB_REPO_ROLE_PULL] = GITHUB_REPO_ROLE_READ - role_mapping_dict[GITHUB_REPO_ROLE_PUSH] = GITHUB_REPO_ROLE_WRITE - role_mapping_dict[GITHUB_REPO_ROLE_ADMIN] = GITHUB_REPO_ROLE_ADMIN - - # 2. Check if the user already a direct collaborator to the repo - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo)}" - params = {GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT} - list_collaborators_direct = self._get_list_response(url, action_result, params) - - # If None is returned, action is failed. - # For empty list action is successful - if list_collaborators_direct is None: - return action_result.get_status() - - collaborator_exist_diff_role = False - - for collaborator in list_collaborators_direct: - # Check if user is already a collaborator - if user.lower() == collaborator.get(GITHUB_JSON_LOGIN).lower(): - # If user is a collaborator with same rights, return success - if self._if_role_same(collaborator, role): - action_result.add_data({GITHUB_JSON_INVITE_SENT: False, GITHUB_JSON_COLLABORATOR_ADDED: False}) - return action_result.set_status( - phantom.APP_SUCCESS, GITHUB_ALREADY_COLLABORATOR_MSG.format(user_name=user, repo_full_name=repo, repo_role=role) - ) - # User is collaborator with different role - else: - collaborator_exist_diff_role = True - break - # User is not a collaborator - # Check pending invitations - else: - # Check if the invite is already sent to the member to join repo as a collaborator with same role - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format(repo_full_name=repo)}" - list_collaborators_pending_invitations = self._get_list_response(url, action_result) - - # If None is returned, action is failed. - # For empty list action is successful - if list_collaborators_pending_invitations is None: - return action_result.get_status() - - # In case of multiple invitations to the user if we find any single invitation, - # we will not further send an invite - for invitation in list_collaborators_pending_invitations: - # No need to check if repo of invite is same or not as the API call is done - # for pending invitations of the same repo - if user.lower() == invitation.get(GITHUB_JSON_INVITEE).get(GITHUB_JSON_LOGIN).lower(): - if role_mapping_dict[role].lower() == invitation.get(GITHUB_JSON_PERMISSIONS).lower(): - # Do nothing as invitation for same role already exist - action_result.add_data({GITHUB_JSON_INVITE_SENT: False, GITHUB_JSON_COLLABORATOR_ADDED: False}) - return action_result.set_status( - phantom.APP_SUCCESS, - GITHUB_COLLABORATOR_INVITATION_ALREADY_SENT_MSG.format(user_name=user, repo_full_name=repo, repo_role=role), - ) - - # Update the invitation if role is different and parameter override is True - if override: - url = "{}{}".format( - GITHUB_API_BASE_URL, - GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( - repo_full_name=repo, invitation_id=invitation.get(GITHUB_JSON_ID) - ), - ) - - request_data = dict() - request_data[GITHUB_JSON_PERMISSIONS] = role_mapping_dict[role] - - ret_val, _ = self._handle_update_request( - url=url, action_result=action_result, data=json.dumps(request_data), method=GITHUB_REQUEST_PATCH - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data({GITHUB_JSON_INVITE_SENT: True, GITHUB_JSON_COLLABORATOR_ADDED: False}) - return action_result.set_status( - phantom.APP_SUCCESS, - GITHUB_COLLABORATOR_INVITATION_UPDATED_MSG.format(user_name=user, repo_full_name=repo, repo_role=role), - ) - - # If override is False, return error - action_result.add_data({GITHUB_JSON_INVITE_SENT: False, GITHUB_JSON_COLLABORATOR_ADDED: False}) - return action_result.set_status( - phantom.APP_ERROR, - status_message=GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG.format( - user_name=user, repo_full_name=repo, repo_role=role - ), - ) - - # If user is collaborator with different role - if collaborator_exist_diff_role: - # If override is True - if override: - success_message = GITHUB_COLLABORATOR_ROLE_UPDATED_MSG.format(user_name=user, repo_full_name=repo, repo_role=role) - return self._add_collaborator(repo, user, role, success_message, action_result) - - # If override is False, return error - action_result.add_data({GITHUB_JSON_INVITE_SENT: False, GITHUB_JSON_COLLABORATOR_ADDED: False}) - return action_result.set_status( - phantom.APP_ERROR, - status_message=GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG.format(user_name=user, repo_full_name=repo, repo_role=role), - ) - - # User is not a direct collaborator and no pending invitations exists - success_message = GITHUB_COLLABORATOR_ADDED_MSG.format(user_name=user, repo_full_name=repo, repo_role=role) - return self._add_collaborator(repo, user, role, success_message, action_result) - - def _add_collaborator(self, repo, user, role, success_message, action_result): - """This function is used to add user as a collaborator to the repo or update role of existing collaborator. - - :param repo: Repo full name - :param user: User to be added as a collaborator - :param role: New role of collaborator - :param success_message: Message to be displayed on successful action - :parm action_result: Object of ActionResult class - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - url = f"{GITHUB_API_BASE_URL}{GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format(repo_full_name=repo, user_name=user)}" - - request_data = dict() - request_data[GITHUB_JSON_REPO_ROLE] = role - - # make rest call - ret_val, response_json = self._handle_update_request( - url=url, action_result=action_result, data=json.dumps(request_data), method=GITHUB_REQUEST_PUT - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - if response_json and isinstance(response_json, dict): - response_json[GITHUB_JSON_INVITE_SENT] = True - response_json[GITHUB_JSON_COLLABORATOR_ADDED] = False - action_result.add_data(response_json) - - return action_result.set_status( - phantom.APP_SUCCESS, GITHUB_COLLABORATOR_INVITATION_SENT_MSG.format(user_name=user, repo_full_name=repo, repo_role=role) - ) - - if response_json: - response_json = {} - - response_json[GITHUB_JSON_INVITE_SENT] = False - response_json[GITHUB_JSON_COLLABORATOR_ADDED] = True - action_result.add_data(response_json) - return action_result.set_status(phantom.APP_SUCCESS, success_message) - - @staticmethod - def _if_role_same(collaborator, role): - """This function is used to check if existing collaborator role is same as provided new collaborator role. - - :param collaborator: Existing direct collaborator object - :param role: New role of collaborator - :return: True if role of collaborator is same as provided role, False otherwise - """ - collaborator_pull_permission = collaborator[GITHUB_JSON_PERMISSIONS][GITHUB_REPO_ROLE_PULL] - collaborator_push_permission = collaborator[GITHUB_JSON_PERMISSIONS][GITHUB_REPO_ROLE_PUSH] - collaborator_admin_permission = collaborator[GITHUB_JSON_PERMISSIONS][GITHUB_REPO_ROLE_ADMIN] - - if role == GITHUB_REPO_ROLE_PULL: - return collaborator_pull_permission and not collaborator_push_permission and not collaborator_admin_permission - elif role == GITHUB_REPO_ROLE_PUSH: - return collaborator_pull_permission and collaborator_push_permission and not collaborator_admin_permission - elif role == GITHUB_REPO_ROLE_ADMIN: - return collaborator_pull_permission and collaborator_push_permission and collaborator_admin_permission - - return False - - def _handle_remove_member(self, param): - """This function is used to handle the remove member action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - team = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_TEAM]) - user = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_USER]) - organization_name = self._handle_py_ver_compat_for_input_str(param.get(GITHUB_JSON_ORGANIZATION)) - - # 1. For input team check whether it is Team name or Team ID and if Team Name fetch Team ID from it - ret_val, team_id = self._verify_and_get_team_id(team=team, action_result=action_result, org_name=organization_name) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - # 2. If valid team_id not found, fail the action - if not team_id: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_INVALID_TEAM_ID.format(team=team)) - - # 3. Verify if user already removed from given team - url = f"{GITHUB_API_BASE_URL}{GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id)}" - - list_teams_members = self._get_list_response(url, action_result) - - # If team_members_list is None, FAIL the action else if team_members_list is empty, do not fail - # because this implies that the input user is already not a member of the team with given team id - if list_teams_members is None: - return action_result.get_status() - - for member in list_teams_members: - if member.get(GITHUB_JSON_LOGIN).lower() == user.lower(): - break - else: - # Check if user is not a direct member, remove all pending invitations to user for joining the team - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT.format(team_id=team_id)}" - list_members_pending_invitations = self._get_list_response(url, action_result) - - # If None is returned, action is failed. - # For empty list action is successful - if list_members_pending_invitations is None: - return action_result.get_status() - - for invitation in list_members_pending_invitations: - if user.lower() == invitation.get(GITHUB_JSON_LOGIN).lower(): - invite_deleted = self._remove_member_or_pending_invitation(team_id, user, action_result) - - if phantom.is_fail(invite_deleted): - return action_result.get_status() - - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_USER_NOT_TEAM_MEMBER_MSG.format(team=team, user_name=user)) - - # 4. At this point, it is verified that given user is a member of given team - # and hence, removing the user from team - member_deleted = self._remove_member_or_pending_invitation(team_id, user, action_result) - - if phantom.is_fail(member_deleted): - return action_result.get_status() - - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_MEMBER_REMOVAL_MSG.format(user_name=user, team=team)) - - def _remove_member_or_pending_invitation(self, team_id, user, action_result): - """This function is used to remove member from team or remove pending invitation to join the team. - - :param team_id: Team ID - :param user: User to be removed from team - :param action_result: Object of ActionResult class - :return: True if member or pending invitation is successfully removed - """ - - url = f"{GITHUB_API_BASE_URL}{GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format(team_id=team_id, user_name=user)}" - - # make rest call - ret_val, _ = self._handle_update_request(url=url, action_result=action_result, method=GITHUB_REQUEST_DELETE) - - if phantom.is_fail(ret_val): - return False - - return True - - def _verify_and_get_team_id(self, team, action_result, org_name=None): - """This function is used to get the team_id if team_name is provided. - - :param team: Team ID or Team name - :param action_result: Object of ActionResult class - :param org_name: Organization name - :return: phantom.APP_SUCCESS/phantom.APP_ERROR, team_id/None - """ - - team_id = None - try: - if not team.isdigit(): - raise ValueError - team_id = int(team) - except ValueError: - # Exception while converting to valid integer implies that provided input is Team name and not Team ID - # Further verifying that if Team name mentioned, Organization name is required - if not org_name: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_ORGANIZATION_REQUIRED_MSG), None - - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=org_name)}" - - list_teams = self._get_list_response(url, action_result) - - # If team_list is None, FAIL the action else if team_list is empty, do not fail - # because number of teams in an organization can be zero - if list_teams is None: - return action_result.get_status(), None - - # Fetch Team ID from Team name - for each_team in list_teams: - if team.lower() == each_team.get(GITHUB_JSON_NAME).lower(): - team_id = each_team.get(GITHUB_JSON_ID) - break - - return phantom.APP_SUCCESS, team_id - - def _handle_add_member(self, param): - """This function is used to handle the add member action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - team = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_TEAM]) - user = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_USER]) - organization_name = self._handle_py_ver_compat_for_input_str(param.get(GITHUB_JSON_ORGANIZATION)) - # Default role is 'member' if role is not provided or incorrect role is provided by the user - role = self._handle_py_ver_compat_for_input_str(param.get(GITHUB_JSON_ROLE, GITHUB_ROLE_MEMBER)) - - # 1. For input team check whether it is Team name or Team ID and if Team Name fetch Team ID from it - ret_val, team_id = self._verify_and_get_team_id(team=team, action_result=action_result, org_name=organization_name) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - # 2. If valid integer team_id not found, fail the action - if not team_id: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_INVALID_TEAM_ID.format(team=team)) - - # 3. Verify if user already a member of team with same role - url = f"{GITHUB_API_BASE_URL}{GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id)}" - params = {GITHUB_JSON_ROLE: role.lower()} - list_teams_members = self._get_list_response(url, action_result, params) - - # If team_members_list is None, FAIL the action else if team_members_list is empty, do not fail - # because this implies that the input user is already not a member of the team with given team id - if list_teams_members is None: - return action_result.get_status() - - for member in list_teams_members: - if member.get(GITHUB_JSON_LOGIN).lower() == user.lower(): - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_ALREADY_TEAM_MEMBER_MSG.format(user_name=user, team=team, role=role)) - - # 4. If given user is not a member of given team, it will be created with mentioned rights - # or if user already present with different rights, rights will be updated for the same user - # and rights will be kept unchanged if found same - url = f"{GITHUB_API_BASE_URL}{GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format(team_id=team_id, user_name=user)}" - - request_data = dict() - request_data[GITHUB_JSON_ROLE] = role.lower() - - # make rest call - ret_val, response_json = self._handle_update_request( - url=url, action_result=action_result, data=json.dumps(request_data), method=GITHUB_REQUEST_PUT - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data(response_json) - if GITHUB_MEMBERSHIP_ACTIVE == response_json.get(GITHUB_JSON_STATE): - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_ADD_MEMBER_MSG.format(user_name=user, team=team, role=role)) - - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_ADD_MEMBER_PENDING_MSG.format(user_name=user, team=team, role=role)) - - def _handle_list_teams(self, param): - """This function is used to handle the list teams action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - limit = param.get("limit") - - if limit is not None: - ret_val, limit = self._validate_integer(action_result, limit, "limit") - if phantom.is_fail(ret_val): - return action_result.get_status() - - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_ORGANIZATION]))}" - - list_teams = self._get_list_response(url, action_result, limit=limit) - - # If team_list is None, FAIL the action else if team_list is empty, do not fail - # because number of teams in an organization can be zero - if list_teams is None: - return action_result.get_status() - - for team in list_teams: - action_result.add_data(team) - - summary = action_result.update_summary({}) - summary["total_teams"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _get_list_response(self, url, action_result, additional_params=None, limit=None): - """This function is used to fetch list response based on API URL to be fetched and pagination. - - :rtype: list - :param url: endpoint URL - :param action_result: action_result - :param additional_params: additional parameters for API request - :return: List of teams - """ - - page_number = 1 - response_items_list = [] - params = dict() - - while True: - # Define page and per_page as params for the api request - if additional_params: - params.update(additional_params) - params[GITHUB_PARAM_PAGE] = page_number - params[GITHUB_PARAM_PER_PAGE] = GITHUB_PAGINATION_MAX_SIZE - - # make rest call - ret_val, response_json = self._handle_update_request(url=url, action_result=action_result, params=params) - - if phantom.is_fail(ret_val): - return None - - # Handling the situation of GitHub returning a dictionary instead of list - # in case of a single item returned in response of the API - if response_json: - if isinstance(response_json, list): - response_items_list.extend(response_json) - elif isinstance(response_json, dict): - response_items_list.append(response_json) - - if limit and len(response_items_list) >= limit: - return response_items_list[:limit] - - if len(response_json) < GITHUB_PAGINATION_MAX_SIZE: - return response_items_list - - # Increment page_number for fetching next page in upcoming cycle - page_number += 1 - - return response_items_list - - def _handle_list_repos(self, param): - """This function is used to handle the list repos action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - limit = param.get("limit") - - if limit is not None: - ret_val, limit = self._validate_integer(action_result, limit, "limit") - if phantom.is_fail(ret_val): - return action_result.get_status() - - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_REPOS_ENDPOINT.format(org_name=self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_ORGANIZATION]))}" - - repo_list = self._get_list_response(url, action_result, limit=limit) - - # If repo_list is None, FAIL the action - # If repo_list is empty, action is successful - if repo_list is None: - return action_result.get_status() - - for repo in repo_list: - action_result.add_data(repo) - - summary = action_result.update_summary({}) - summary["total_repos"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_list_organizations(self, param): - """This function is used to handle the list organizations action. - - :param param: Dictionary of input parameters - :return: Status(phantom.APP_SUCCESS/phantom.APP_ERROR) - """ - - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - action_result = self.add_action_result(ActionResult(dict(param))) - - if not (self._username and self._password) and not self._oauth_token and not self._access_token: - return action_result.set_status(phantom.APP_ERROR, status_message=GITHUB_CONFIG_PARAMS_REQUIRED) - - limit = param.get("limit") - - if limit is not None: - ret_val, limit = self._validate_integer(action_result, limit, "limit") - if phantom.is_fail(ret_val): - return action_result.get_status() - - url = f"{GITHUB_API_BASE_URL}{GITHUB_LIST_ORGANIZATIONS_ENDPOINT}" - - org_list = self._get_list_response(url, action_result, limit=limit) - - # If org_list is None, FAIL the action - # If org_list is empty, action is successful - if org_list is None: - return action_result.get_status() - - for org in org_list: - action_result.add_data(org) - - summary = action_result.update_summary({}) - summary["total_organizations"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_list_issues(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - limit = param.get("limit") - - if limit is not None: - ret_val, limit = self._validate_integer(action_result, limit, "limit") - if phantom.is_fail(ret_val): - return action_result.get_status() - - endpoint = GITHUB_ENDPOINT_ISSUES.format(repo_owner=repo_owner, repo_name=repo_name) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - issues_list = self._get_list_response(url, action_result, limit=limit) - - if issues_list is None: - return action_result.get_status() - - for issue in issues_list: - action_result.add_data(issue) - - summary = action_result.update_summary({}) - summary["total_issues"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_list_comments(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - # Required values can be accessed directly - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - issue_number = param[GITHUB_JSON_ISSUE_NUMBER] - limit = param.get("limit") - - if limit is not None: - ret_val, limit = self._validate_integer(action_result, limit, "limit") - if phantom.is_fail(ret_val): - return action_result.get_status() - - ret_val, issue_number = self._validate_integer(action_result, issue_number, "issue number") - if phantom.is_fail(ret_val): - return action_result.get_status() - - endpoint = GITHUB_ENDPOINT_COMMENTS.format(repo_owner=repo_owner, repo_name=repo_name, issue_number=issue_number) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - comments_list = self._get_list_response(url, action_result, limit=limit) - - if comments_list is None: - return action_result.get_status() - - for comment in comments_list: - action_result.add_data(comment) - - summary = action_result.update_summary({}) - summary["total_comments"] = action_result.get_data_size() - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_get_issue(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - issue_number = param[GITHUB_JSON_ISSUE_NUMBER] - - ret_val, issue_number = self._validate_integer(action_result, issue_number, "issue number") - if phantom.is_fail(ret_val): - return action_result.get_status() - - endpoint = GITHUB_ENDPOINT_GET_ISSUE.format(repo_owner=repo_owner, repo_name=repo_name, issue_number=issue_number) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - # make rest call - ret_val, response_json = self._handle_update_request(url=url, action_result=action_result) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data(response_json) - - summary = action_result.update_summary({}) - summary["issue_number"] = response_json.get("number") - summary["issue_url"] = response_json.get("html_url") - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_create_issue(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - issue_title = param[GITHUB_JSON_ISSUE_TITLE] - - issue_body = param.get(GITHUB_JSON_ISSUE_BODY, "") - - # assignees should be comma-separated - assignees = [x.strip() for x in param.get(GITHUB_JSON_ASSIGNEES, "").split(",")] - assignees = list(filter(None, assignees)) - - # labels should be comma-separated - labels = [x.strip() for x in param.get(GITHUB_JSON_LABELS, "").split(",")] - labels = list(filter(None, labels)) - - request_data = {"title": issue_title, "body": issue_body, "assignees": assignees, "labels": labels} - - endpoint = GITHUB_ENDPOINT_ISSUES.format(repo_owner=repo_owner, repo_name=repo_name) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - # make rest call - ret_val, response_json = self._handle_update_request( - url=url, action_result=action_result, method=GITHUB_REQUEST_POST, data=json.dumps(request_data) - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data(response_json) - - summary = action_result.update_summary({}) - summary["issue_number"] = response_json.get("number") - summary["issue_url"] = response_json.get("html_url") - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_update_issue(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - issue_number = param[GITHUB_JSON_ISSUE_NUMBER] - issue_title = param.get(GITHUB_JSON_ISSUE_TITLE) - issue_state = param.get(GITHUB_JSON_STATE) - issue_body = param.get(GITHUB_JSON_ISSUE_BODY) - - ret_val, issue_number = self._validate_integer(action_result, issue_number, "issue number") - if phantom.is_fail(ret_val): - return action_result.get_status() - - # assignees should be comma-separated - assignees = [x.strip() for x in param.get(GITHUB_JSON_ASSIGNEES, "").split(",")] - assignees = list(filter(None, assignees)) - - # labels should be comma-separated - labels = [x.strip() for x in param.get(GITHUB_JSON_LABELS, "").split(",")] - labels = list(filter(None, labels)) - - to_empty = param.get(GITHUB_JSON_TO_EMPTY, False) - - request_data = dict() - - if not to_empty: - if issue_body: - request_data["body"] = issue_body - - if assignees: - request_data["assignees"] = assignees - - if labels: - request_data["labels"] = labels - else: - request_data = {"body": issue_body, "assignees": assignees, "labels": labels} - - if issue_title: - request_data["title"] = issue_title - - if issue_state: - request_data["state"] = issue_state - - endpoint = GITHUB_ENDPOINT_GET_ISSUE.format(repo_owner=repo_owner, repo_name=repo_name, issue_number=issue_number) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - # make rest call - ret_val, response_json = self._handle_update_request( - url=url, action_result=action_result, method=GITHUB_REQUEST_PATCH, data=json.dumps(request_data) - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data(response_json) - - summary = action_result.update_summary({}) - summary["issue_number"] = response_json.get("number") - summary["issue_url"] = response_json.get("html_url") - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_create_comment(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - issue_number = param[GITHUB_JSON_ISSUE_NUMBER] - comment_body = param[GITHUB_JSON_COMMENT_BODY] - - ret_val, issue_number = self._validate_integer(action_result, issue_number, "issue number") - if phantom.is_fail(ret_val): - return action_result.get_status() - - request_data = {"body": comment_body} - - endpoint = GITHUB_ENDPOINT_COMMENTS.format(repo_owner=repo_owner, repo_name=repo_name, issue_number=issue_number) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - # make rest call - ret_val, response_json = self._handle_update_request( - url=url, action_result=action_result, method=GITHUB_REQUEST_POST, data=json.dumps(request_data) - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.add_data(response_json) - - summary = action_result.update_summary({}) - summary["comment_id"] = response_json.get("id") - summary["comment_url"] = response_json.get("html_url") - - return action_result.set_status(phantom.APP_SUCCESS) - - def _handle_add_labels(self, param): - self.save_progress(f"In action handler for: {self.get_action_identifier()}") - - action_result = self.add_action_result(ActionResult(dict(param))) - - repo_owner = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_OWNER]) - repo_name = self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_REPO_NAME]) - issue_number = param[GITHUB_JSON_ISSUE_NUMBER] - - ret_val, issue_number = self._validate_integer(action_result, issue_number, "issue number") - if phantom.is_fail(ret_val): - return action_result.get_status() - - # labels should be comma-separated list - labels = [x.strip() for x in self._handle_py_ver_compat_for_input_str(param[GITHUB_JSON_LABELS]).split(",")] - labels = list(filter(None, labels)) - - request_data = {"labels": labels} - - endpoint = GITHUB_ENDPOINT_LABELS.format(repo_owner=repo_owner, repo_name=repo_name, issue_number=issue_number) - - url = f"{GITHUB_API_BASE_URL}{endpoint}" - - # make rest call - ret_val, response_json = self._handle_update_request( - url=url, action_result=action_result, method=GITHUB_REQUEST_POST, data=json.dumps(request_data) - ) - - if phantom.is_fail(ret_val): - return action_result.get_status() - - action_result.update_data(response_json) - - return action_result.set_status(phantom.APP_SUCCESS, GITHUB_LABEL_ADDED_MSG.format(labels=",".join(labels), issue_number=issue_number)) - - def handle_action(self, param): - """This function gets current action identifier and calls member function of its own to handle the action. - - :param param: dictionary which contains information about the actions to be executed - :return: status(success/failure) - """ - self.debug_print("action_id", self.get_action_identifier()) - - action_mapping = { - "test_connectivity": self._handle_test_connectivity, - "remove_collaborator": self._handle_remove_collaborator, - "add_collaborator": self._handle_add_collaborator, - "remove_member": self._handle_remove_member, - "add_member": self._handle_add_member, - "list_events": self._handle_list_events, - "list_users": self._handle_list_users, - "list_teams": self._handle_list_teams, - "list_repos": self._handle_list_repos, - "list_organizations": self._handle_list_organizations, - "list_issues": self._handle_list_issues, - "list_comments": self._handle_list_comments, - "get_issue": self._handle_get_issue, - "create_issue": self._handle_create_issue, - "update_issue": self._handle_update_issue, - "create_comment": self._handle_create_comment, - "add_labels": self._handle_add_labels, - } - - action = self.get_action_identifier() - action_execution_status = phantom.APP_SUCCESS - - if action in list(action_mapping.keys()): - action_function = action_mapping[action] - action_execution_status = action_function(param) - - return action_execution_status - - def initialize(self): - """This is an optional function that can be implemented by the AppConnector derived class. Since the - configuration dictionary is already validated by the time this function is called, it's a good place to do any - extra initialization of any internal modules. This function MUST return a value of either phantom.APP_SUCCESS or - phantom.APP_ERROR. If this function returns phantom.APP_ERROR, then AppConnector::handle_action will not get - called. - """ - - self._state = self.load_state() - - config = self.get_config() - - # Fetching the Python major version - try: - self._python_version = int(sys.version_info[0]) - except: - return self.set_status(phantom.APP_ERROR, "Error occurred while getting the Phantom server's Python major version.") - - self._username = self._handle_py_ver_compat_for_input_str(config.get(GITHUB_CONFIG_USERNAME)) - self._password = config.get(GITHUB_CONFIG_PASSWORD) - self._client_id = self._handle_py_ver_compat_for_input_str(config.get(GITHUB_CONFIG_CLIENT_ID)) - self._client_secret = config.get(GITHUB_CONFIG_CLIENT_SECRET) - self._oauth_token = config.get(GITHUB_CONFIG_AUTH_TOKEN) - - self._access_token = self._state.get("token", {}).get(GITHUB_ACCESS_TOKEN) - return phantom.APP_SUCCESS - - def finalize(self): - """This function gets called once all the param dictionary elements are looped over and no more handle_action - calls are left to be made. It gives the AppConnector a chance to loop through all the results that were - accumulated by multiple handle_action function calls and create any summary if required. Another usage is - cleanup, disconnect from remote devices etc. - - :return: status (success/failure) - """ - - self.save_state(self._state) - _save_app_state(self._state, self.get_asset_id(), self) - return phantom.APP_SUCCESS - - -if __name__ == "__main__": - import argparse - - import pudb - - pudb.set_trace() - - argparser = argparse.ArgumentParser() - - argparser.add_argument("input_test_json", help="Input Test JSON file") - argparser.add_argument("-u", "--username", help="username", required=False) - argparser.add_argument("-p", "--password", help="password", required=False) - argparser.add_argument("-v", "--verify", action="store_true", help="verify", required=False, default=False) - - args = argparser.parse_args() - session_id = None - - username = args.username - password = args.password - verify = args.verify - - if username is not None and password is None: - # User specified a username but not a password, so ask - import getpass - - password = getpass.getpass("Password: ") - - if username and password: - login_url = BaseConnector._get_phantom_base_url() + "login" - try: - print("Accessing the Login page") - r = requests.get(login_url, verify=verify, timeout=DEFAULT_TIMEOUT) - csrftoken = r.cookies["csrftoken"] - - data = dict() - data["username"] = username - data["password"] = password - data["csrfmiddlewaretoken"] = csrftoken - - headers = dict() - headers["Cookie"] = f"csrftoken={csrftoken}" - headers["Referer"] = login_url - - print("Logging into Platform to get the session id") - r2 = requests.post(login_url, verify=verify, data=data, headers=headers, timeout=DEFAULT_TIMEOUT) - session_id = r2.cookies["sessionid"] - except Exception as e: - print(f"Unable to get session id from the platform. Error: {e!s}") - sys.exit(1) - - with open(args.input_test_json) as f: - in_json = f.read() - in_json = json.loads(in_json) - print(json.dumps(in_json, indent=4)) - - connector = GithubConnector() - connector.print_progress_message = True - - if session_id is not None: - in_json["user_session_token"] = session_id - connector._set_csrf_info(csrftoken, headers["Referer"]) - - ret_val = connector._handle_action(json.dumps(in_json), None) - print(json.dumps(json.loads(ret_val), indent=4)) - - sys.exit(0) diff --git a/github_list_events.html b/github_list_events.html deleted file mode 100644 index 4bf35ef..0000000 --- a/github_list_events.html +++ /dev/null @@ -1,196 +0,0 @@ -{% extends 'widgets/widget_template.html' %} -{% load custom_template %} -{% block custom_title_prop %} - {% if title_logo %} - style="background-size: auto 60%; background-position: 50%; background-repeat: no-repeat; background-image: url('/app_resource/{{ title_logo }}');" - {% endif %} -{% endblock %} -{% block title1 %}{{ title1 }}{% endblock %} -{% block title2 %}{{ title2 }}{% endblock %} -{% block custom_tools %}{% endblock %} -{% block widget_content %} - - - -
- - {% for result in results %} - -
- - {% if not result.data %} -

No data found

- {% else %} -

Action Parameters

- - - - - -
Username - - {{ result.param.username }} -   - -
-
-
-
-

Event Details

- - - - - - - - - - - - - - {% for event in result.data %} - - - - - - - - - {% endfor %} - -
Event IDEvent TypePublicCreated AtRepo NameOrganization Name
{{ event.id }}{{ event.type }}{{ event.public }}{{ event.created_at }} - - {{ event.repo.name }} -   - -
-
-
- - {{ event.org.login }} -   - -
-
-
-
- {% endif %} - {% endfor %} - -
- - -{% endblock %} - diff --git a/github_list_issues.html b/github_list_issues.html deleted file mode 100644 index 8418798..0000000 --- a/github_list_issues.html +++ /dev/null @@ -1,217 +0,0 @@ -{% extends 'widgets/widget_template.html' %} -{% load custom_template %} -{% block custom_title_prop %} - {% if title_logo %} - style="background-size: auto 60%; background-position: 50%; background-repeat: no-repeat; background-image: url('/app_resource/{{ title_logo }}');" - {% endif %} -{% endblock %} -{% block title1 %}{{ title1 }}{% endblock %} -{% block title2 %}{{ title2 }}{% endblock %} -{% block custom_tools %}{% endblock %} -{% block widget_content %} - - - -
- - {% for result in results %} - -
- - {% if not result.data %} -

No data found

- {% else %} -

Action Parameters

- - - - - - - - - - {% if result.param.limit %} - - - - - {% endif %} -
Repo Owner - - {{ result.param.repo_owner }} -   - -
-
-
Repo Name - - {{ result.param.repo_name }} -   - -
-
-
Limit{{ result.param.limit }}
-
-

Issue Details

- - - - - - - - - - - - - {% for issue in result.data %} - - - - - - {% if issue.assignee.login %} - - {% else %} - - {% endif %} - - {% endfor %} - -
Issue NumberIssue TitleIssue BodyIssue StateAssignee
- - {{ issue.number }} -   - -
-
-
{{ issue.title }}{{ issue.body }}{{ issue.state }} - - {{ issue.assignee.login }} -   - -
-
-
None
-
- {% endif %} - {% endfor %} - -
- - -{% endblock %} - diff --git a/github_update_issue.html b/github_update_issue.html deleted file mode 100644 index 9484445..0000000 --- a/github_update_issue.html +++ /dev/null @@ -1,256 +0,0 @@ -{% extends 'widgets/widget_template.html' %} -{% load custom_template %} -{% block custom_title_prop %} - {% if title_logo %} - style="background-size: auto 60%; background-position: 50%; background-repeat: no-repeat; background-image: url('/app_resource/{{ title_logo }}');" - {% endif %} -{% endblock %} -{% block title1 %}{{ title1 }}{% endblock %} -{% block title2 %}{{ title2 }}{% endblock %} -{% block custom_tools %}{% endblock %} -{% block widget_content %} - - - -
- - {% for result in results %} - -
- - {% if not result.data %} -

No data found

- {% else %} -

Action Parameters

- - - - - - - - - - {% if result.param.issue_number %} - - - - - {% endif %} - {% if result.param.state %} - - - - - {% endif %} - {% if result.param.issue_title %} - - - - - {% endif %} - {% if result.param.issue_body %} - - - - - {% endif %} - {% if result.param.assignees %} - - - - - {% endif %} - {% if result.param.labels %} - - - - - {% endif %} - {% if result.param.to_empty %} - - - - - {% endif %} -
Repo Owner - - {{ result.param.repo_owner }} -   - -
-
-
Repo Name - - {{ result.param.repo_name }} -   - -
-
-
Issue Number - - {{ result.param.issue_number }} -   - -
-
-
State{{ result.param.state }}
Issue Title{{ result.param.issue_title }}
Issue Body{{ result.param.issue_body }}
Assignees - - {{ result.param.assignees }} -   - -
-
-
Labels{{ result.param.labels }}
To Empty{{ result.param.to_empty }}
-
-

Issue Details

- - - - - - - - - - - - {% for issue in result.data %} - - - - - - - {% endfor %} - -
Issue NumberIssue TitleIssue BodyIssue State
- - {{ issue.number }} -   - -
-
-
{{ issue.title }}{{ issue.body }}{{ issue.state }}
-
- {% endif %} - {% endfor %} - -
- - -{% endblock %} - diff --git a/github_view.py b/github_view.py deleted file mode 100644 index 86b5360..0000000 --- a/github_view.py +++ /dev/null @@ -1,57 +0,0 @@ -# File: github_view.py -# -# Copyright (c) 2019-2025 Splunk Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software distributed under -# the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, -# either express or implied. See the License for the specific language governing permissions -# and limitations under the License. -def _get_ctx_result(result, provides): - ctx_result = {} - - param = result.get_param() - summary = result.get_summary() - data = result.get_data() - - ctx_result["check_param"] = False - - if len(list(param.keys())) > 1: - ctx_result["check_param"] = True - - ctx_result["param"] = param - ctx_result["action_name"] = provides - if summary: - ctx_result["summary"] = summary - - if not data: - ctx_result["data"] = {} - return ctx_result - - ctx_result["data"] = data - - return ctx_result - - -def display_view(provides, all_app_runs, context): - context["results"] = results = [] - for summary, action_results in all_app_runs: - for result in action_results: - ctx_result = _get_ctx_result(result, provides) - if not ctx_result: - continue - results.append(ctx_result) - - if provides == "list events": - return "github_list_events.html" - - if provides == "list issues": - return "github_list_issues.html" - - if provides in ["update issue", "create issue"]: - return "github_update_issue.html" diff --git a/pyproject.toml b/pyproject.toml index a816e31..6a9df78 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,37 +1,107 @@ -# Ruff linting +[project] +name = "github" +version = "3.0.0" +description = "This app integrates with GitHub to support various investigative and issue-based actions" +license = "Copyright (c) 2019-2025 Splunk Inc." +requires-python = ">=3.13, <3.15" +authors = [ +] +dependencies = [ + "splunk-soar-sdk>=3.22.2", +] + +[tool.soar.app] +main_module = "src.app:app" + +[tool.pytest.ini_options] +testpaths = ["tests"] +pythonpath = ["src"] + +### YOU SHOULD NOT NEED TO TOUCH ANYTHING BELOW THIS LINE ### + +[dependency-groups] +dev = [ + "coverage>=7.6.7,<8", + "mypy>=1.2.0,<2", + "pre-commit>=4.2.0,<5", + "pytest>=7.4.2,<8", + "pytest-mock>=3.14.0,<4", + "pytest-watch>=4.2.0,<5", + "ruff>=0.11.6,<1", +] + +[[tool.uv.index]] +url = "https://pypi.python.org/simple" + +[tool.uv] +environments = [ + "sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.13'", + "sys_platform == 'linux' and platform_machine == 'aarch64' and python_version == '3.13'", + "sys_platform == 'darwin' and platform_machine == 'x86_64' and python_version == '3.13'", + "sys_platform == 'darwin' and platform_machine == 'arm64' and python_version == '3.13'", + "sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.14'", + "sys_platform == 'linux' and platform_machine == 'aarch64' and python_version == '3.14'", + "sys_platform == 'darwin' and platform_machine == 'x86_64' and python_version == '3.14'", + "sys_platform == 'darwin' and platform_machine == 'arm64' and python_version == '3.14'", +] +required-environments = [ + "sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.13'", + "sys_platform == 'linux' and platform_machine == 'x86_64' and python_version == '3.14'", +] + [tool.ruff] -line-length = 145 -target-version = "py39" +output-format = "full" # +fix = true +target-version = "py313" [tool.ruff.lint] -select = [ # Auto-fixable rules only - "I", # isort +select = [ + "ERA", # commented out code + "YTT", # bad use of sys.version_info + "S", # security issues + "B", # bugbear + "A", # builtins + "DTZ", # datetime footguns + "T10", # breakpoints + "ISC", # implicit string concatenation + "PT", # pytest style + "SIM", # simplify + "PTH", # use pathlib + "E", # pycodestyle errors + "F", # pyflakes + "W", # pycodestyle warnings + "PL", # pylint "UP", # pyupgrade - "F401", # unused imports - "RUF" # ruff rules + "RUF", # ruff's own rules ] - ignore = [ - "RUF012", # Not auto-fixable (remove eventually) - "RUF001" # Not auto-fixable (remove eventually) + "E402", # Module level import not at top of file. + "E501", # Line too long. Format covers this. + "PT006", # Opinions about types for pytest.parametrize + "PT007", # Opinions about types for pytest.parametrize + "PTH123", # Allow builtin open() + "PLR", # pylint refactors ] -[tool.ruff.lint.per-file-ignores] -"__init__.py" = ["F401", "UP035"] # __init__.py file exceptions +# Allow unused variables when underscore-prefixed. +dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" -# Keep complexity below 28 -[tool.ruff.lint.mccabe] -max-complexity = 28 +[tool.ruff.lint.per-file-ignores] +"tests/**/*" = [ + "ANN", # Disable flake8-annotations rules for test files + "S", # Disable flake8-bandit rules for test files +] +"src/**/*" = [ + "PT", # Disable pytest rules for src files +] -[tool.ruff.lint.isort] -combine-as-imports = true -lines-after-imports = 2 +[tool.ruff.lint.pyupgrade] +# Preserve types, even if a file imports `from __future__ import annotations`. +# This is necessary since we rely on runtime type annotations in our code and in pydantic +keep-runtime-typing = true [tool.ruff.format] -quote-style = "double" -indent-style = "space" -skip-magic-trailing-comma = false -line-ending = "auto" +docstring-code-format = true # HTML linting [tool.djlint] @@ -58,22 +128,17 @@ config = [ "r/typescript.react.security.audit.react-dangerouslysetinnerhtml.react-dangerouslysetinnerhtml" # TypeScript React security rule ] ignore-patterns = [ - "node_modules/", - "build/", "dist/", "vendor/", "env/", ".env/", "venv/", ".venv/", - ".tox/", - "*.min.js", "test/", "tests/", - "*_test.go", ".semgrep", "wheels/", ".html", - "*.md", - "*.svg" + ".md", + ".svg" ] diff --git a/readme.html b/readme.html deleted file mode 100644 index 01c38c9..0000000 --- a/readme.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - -

Authentication

- This app supports three types of authentication: - -

Basic authentication

- To use basic authentication, provide the username and password of your GitHub account in username and password fields of asset configuration. Click save and run test connectivity. -
-

Using the personal access token

- To use this method navigate to GitHub in a browser and log in with your credentials. -
    -
  1. - In the upper right corner of any page, click your profile photo, then click Settings -
  2. -
  3. - In the left sidebar, click Developer settings -
  4. -
  5. - In the left sidebar, click Personal access tokens -
  6. -
  7. - Click Generate new token -
  8. -
  9. Provide any descriptive name to the token
  10. -
  11. - Select the following checkboxes: -
    -
      -
    • repo
    • -
    • admin: org
    • -
    • user
    • -
    -
  12. -
  13. Click Generate token
  14. -
  15. Copy the token and save it somewhere safe, as you will not be able to see the token again
  16. -
- Provide the token generated by performing the above steps in the personal_access_token field in asset configuration. Click save and run test connectivity. -

OAuth authentication

- To use this method navigate to GitHub in a browser and log in with your credentials. -
    -
  1. - In the upper right corner of any page, click your profile photo, then click Settings -
  2. -
  3. - In the left sidebar, click Developer settings -
  4. -
  5. - In the left sidebar, click OAuth Apps -
  6. -
  7. - Click New OAuth App -
  8. -
  9. Provide any name to your application
  10. -
  11. Provide any valid URL as Homepage URL
  12. -
  13. For now, provide any valid URL as Authorization callback URL. We will change it later.
  14. -
  15. Click on Register application
  16. -
  17. - Get Client ID and Client Secret -
  18. -
-
- While creating the asset for this authentication method, provide the Client ID and Client Secret generated during previous steps in client_id and client_secret field of asset configuration and click on Save. -
- A new field called POST incoming for GitHub to this location will appear in the Asset Settings tab. Take the URL found in this field and place it in the Authorization callback URL field of your registered app on the GitHub page. To this URL, add /result at the end. After doing so the URL should look something like: -
-https://<phantom_host>/rest/handler/github_5553a13b-ca44-4d03-ac48-293fce874001/<asset_name>/result
-
- Once again, click save. -

Method to run test connectivity

- For the Basic Authentication and Personal Access Token method of authentication, you just need to click the TEST CONNECTIVITY button. -
- For the OAuth authentication method, Click on the TEST CONNECTIVITY button, a window will pop up and display a URL. Navigate to this URL in a separate browser tab. This new tab will redirect to the GitHub login page. Log in using your GitHub account. After logging in, review the requested permissions, provide the organization access from listed organizations, - and click Authorize <your-user-name> button. Finally, close that tab. The test connectivity window should show a success message. -

State file permissions

-

- Please check the permissions for the state file as mentioned below. -

State file path

- -

State file permissions

- -

-

Note

- - - diff --git a/release_notes/1.0.5.md b/release_notes/1.0.5.md deleted file mode 100644 index 9d24e11..0000000 --- a/release_notes/1.0.5.md +++ /dev/null @@ -1,6 +0,0 @@ -**GitHub Release Notes - Published by Splunk July 31, 2019** - - -**Version 1.0.5 - Released July 31, 2019** - -* Initial Release diff --git a/release_notes/2.0.2.md b/release_notes/2.0.2.md deleted file mode 100644 index 970a535..0000000 --- a/release_notes/2.0.2.md +++ /dev/null @@ -1,11 +0,0 @@ -**GitHub Release Notes - Published by Splunk August 13, 2020** - - -**Version 2.0.2 - Released August 13, 2020** - -* Compatibility changes for Python 3 support -* Internal bug fixes -* Bug fixes in 'test connectivity' action -* Added validations for input action paremeters -* Handled exceptions for Unicode character issues -* Fixed output view diff --git a/release_notes/2.0.7.md b/release_notes/2.0.7.md deleted file mode 100644 index cbad643..0000000 --- a/release_notes/2.0.7.md +++ /dev/null @@ -1,6 +0,0 @@ -**GitHub Release Notes - Published by Splunk June 07, 2021** - - -**Version 2.0.7 - Released June 07, 2021** - -* Fixed handling of symbolic links when loading app state [PAPP-16267] diff --git a/release_notes/2.0.8.md b/release_notes/2.0.8.md deleted file mode 100644 index 162d278..0000000 --- a/release_notes/2.0.8.md +++ /dev/null @@ -1,6 +0,0 @@ -**GitHub Release Notes - Published by Splunk January 24, 2022** - - -**Version 2.0.8 - Released January 24, 2022** - -* Marked the app as FIPS Compliant [PAPP-22681] diff --git a/release_notes/2.1.0.md b/release_notes/2.1.0.md deleted file mode 100644 index 6193518..0000000 --- a/release_notes/2.1.0.md +++ /dev/null @@ -1 +0,0 @@ -* Made the app compatible with Splunk SOAR version 6.0.1[Persona] by updating the dependencies and restructuring the wheels folder [PAPP-30039] \ No newline at end of file diff --git a/release_notes/2.1.1.md b/release_notes/2.1.1.md deleted file mode 100644 index c71c934..0000000 --- a/release_notes/2.1.1.md +++ /dev/null @@ -1 +0,0 @@ -* Removed django and requests dependencies in order to use platform packages instead [PAPP-31087, PAPP-31082, PAPP-31096, PAPP-30822] \ No newline at end of file diff --git a/release_notes/2.1.2.md b/release_notes/2.1.2.md deleted file mode 100644 index 70aa4da..0000000 --- a/release_notes/2.1.2.md +++ /dev/null @@ -1,2 +0,0 @@ -* Update Python dependencies for Python 3.13 support -* Update Python version for 3.13 \ No newline at end of file diff --git a/release_notes/unreleased.md b/release_notes/unreleased.md index fbcb2fd..e3eea35 100644 --- a/release_notes/unreleased.md +++ b/release_notes/unreleased.md @@ -1 +1,8 @@ **Unreleased** + +* - Fixed `closed_by` and `milestone` output fields to use correct nested object types instead of `str` +* - Fixed `PayloadOutput` and `CommentOutput` fields to be optional to handle partial GitHub event payloads +* - Replaced wildcard consts import with explicit imports +* - Updated asset fields: removed deprecated `oauth_token`/`access_token`, use `personal_access_token`; marked sensitive fields +* - Replaced `raise ValueError` with `raise ActionFailure` for limit validation +* - App name updated to `github` diff --git a/requirements.txt b/requirements.txt index e69de29..326154a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1,2 @@ +splunk-soar-sdk>=3.22.2 +httpx>=0.28.1 diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..1c22972 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1,17 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from . import app +from .actions import make_req + +__all__ = ["app", "make_req"] diff --git a/src/actions/__init__.py b/src/actions/__init__.py new file mode 100644 index 0000000..5a983c4 --- /dev/null +++ b/src/actions/__init__.py @@ -0,0 +1,14 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from . import make_req # noqa: F401 — registers @app.make_request() decorator diff --git a/src/actions/make_req.py b/src/actions/make_req.py new file mode 100644 index 0000000..ea90e86 --- /dev/null +++ b/src/actions/make_req.py @@ -0,0 +1,220 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Make Request Action — arbitrary GitHub API call using the asset's configured credentials. +# +# This mirrors what the legacy connector's _handle_update_request + _make_rest_call did, +# but exposed as a first-class SOAR action so playbooks can hit any GitHub endpoint +# without needing a dedicated handler. + +import json + +import httpx +from soar_sdk.action_results import MakeRequestOutput +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import MakeRequestParams, Param + +from ..app import Asset, app +from ..client import GITHUB_DEFAULT_HEADERS, resolve_auth +from ..consts import GITHUB_API_BASE_URL + +logger = getLogger() + + +# --------------------------------------------------------------------------- +# Params / Output +# --------------------------------------------------------------------------- + + +class GitHubMakeRequestParams(MakeRequestParams): + """Custom params: overrides the endpoint description for GitHub-specific context.""" + + endpoint: str = Param( + description=( + "GitHub API endpoint path appended to https://api.github.com. " + "Do not include the base URL. " + "Examples: '/user', '/repos/owner/name/issues', '/orgs/my-org/teams', " + "'/repos/owner/name/issues/1/labels'." + ), + ) + + +class GitHubMakeRequestOutput(MakeRequestOutput): + """Output for the make_request action. + + Inherits status_code and response_body from MakeRequestOutput. + Additionally, if the GitHub API returns a JSON object, its top-level keys are + merged in as individual output fields so downstream playbook steps can reference + them directly (e.g. action_result.data.*.number for an issue number). + """ + + def __init__(self, **data): + # Separate the two declared fields from any extra JSON keys we want to attach + known = { + "status_code": data.pop("status_code", None), + "response_body": data.pop("response_body", None), + } + super().__init__(**{k: v for k, v in known.items() if v is not None}) + + # Attach extra keys directly so they show up in the SOAR action result data + for key, value in data.items(): + object.__setattr__(self, key, value) + + @classmethod + def from_response(cls, response: httpx.Response) -> "GitHubMakeRequestOutput": + """Build the output from an httpx Response, merging JSON keys when possible.""" + data: dict = { + "status_code": response.status_code, + "response_body": response.text, + } + + try: + json_body = response.json() + # Only merge top-level keys when the response is a single JSON object. + # GitHub list endpoints return arrays — those are preserved as response_body + # and not merged, because there is no stable set of keys to promote. + if isinstance(json_body, dict): + data.update(json_body) + except Exception as exc: + logger.warning(f"Response body is not JSON — skipping field merge: {exc!s}") + + return cls(**data) + + +# --------------------------------------------------------------------------- +# Validation helpers (query string) +# --------------------------------------------------------------------------- + + +def _is_valid_query_string(query_string: str) -> bool: + """Return True if the string follows key=value&key2=value2 format.""" + if not query_string or not query_string.strip(): + return False + for raw_pair in query_string.split("&"): + pair = raw_pair.strip() + if not pair or "=" not in pair: + return False + key, _, _ = pair.partition("=") + if not key.strip(): + return False + return True + + +# --------------------------------------------------------------------------- +# Action handler +# --------------------------------------------------------------------------- + + +@app.make_request() +def make_request( + params: GitHubMakeRequestParams, asset: Asset +) -> GitHubMakeRequestOutput: + """Execute an arbitrary HTTP request against the GitHub API. + + Handles all three authentication modes configured on the asset: + username/password basic auth, personal access token, and OAuth Bearer token. + The endpoint is appended to https://api.github.com — do not include the base URL. + """ + logger.info(f"make_request: {params.http_method} {params.endpoint}") + + # --- endpoint validation ------------------------------------------------- + + endpoint = params.endpoint + + # Reject full URLs — the base URL is fixed to api.github.com + if endpoint.startswith(("http://", "https://")): + raise ActionFailure( + f"Invalid endpoint '{endpoint}': provide only the path after " + f"https://api.github.com (e.g. '/repos/owner/repo/issues')." + ) + + # Normalise: ensure a leading slash + if not endpoint.startswith("/"): + endpoint = f"/{endpoint}" + + url = f"{GITHUB_API_BASE_URL}{endpoint}" + + # --- query parameters ---------------------------------------------------- + + query_params: dict | None = None + + if params.query_parameters: + try: + # Accept a JSON object: {"per_page": 100, "page": 2} + query_params = json.loads(params.query_parameters) + except (json.JSONDecodeError, TypeError): + # Fall back to raw key=value&key2=value2 string — append directly to URL + raw_qs = params.query_parameters.lstrip("?") + if not _is_valid_query_string(raw_qs): + raise ActionFailure( + f"Invalid query_parameters: expected a JSON object or " + f"key=value&key2=value2 format, got: {params.query_parameters!r}" + ) from None + separator = "&" if "?" in url else "?" + url = f"{url}{separator}{raw_qs}" + + # --- request body -------------------------------------------------------- + + json_body: dict | None = None + + if params.body: + try: + json_body = json.loads(params.body) + except (json.JSONDecodeError, TypeError) as exc: + raise ActionFailure(f"Invalid JSON body: {params.body!r}") from exc + + # --- headers ------------------------------------------------------------- + + merged_headers: dict[str, str] = dict(GITHUB_DEFAULT_HEADERS) + + if params.headers: + try: + parsed_headers = json.loads(params.headers) + except (json.JSONDecodeError, TypeError) as exc: + raise ActionFailure(f"Invalid JSON headers: {params.headers!r}") from exc + # Caller-supplied headers override defaults (e.g. a custom Accept value) + merged_headers.update(parsed_headers) + + # --- auth ---------------------------------------------------------------- + + auth = resolve_auth(asset) + + # --- send the request ---------------------------------------------------- + + timeout = params.timeout if params.timeout else 30 + verify = params.verify_ssl if params.verify_ssl is not None else True + + try: + with httpx.Client(timeout=timeout, verify=verify) as client: + response = client.request( + method=params.http_method, + url=url, + auth=auth, + headers=merged_headers, + params=query_params, + # json= sends the body as application/json with Content-Type set automatically + json=json_body if json_body is not None else None, + ) + except httpx.RequestError as exc: + # Network-level error (DNS failure, connection refused, timeout, etc.) + raise ActionFailure(f"Error connecting to GitHub API: {exc}") from exc + except Exception as exc: + raise ActionFailure(f"Unexpected error during request: {exc}") from exc + + logger.info( + f"make_request completed: HTTP {response.status_code} " + f"for {params.http_method} {params.endpoint}" + ) + + return GitHubMakeRequestOutput.from_response(response) diff --git a/src/app.py b/src/app.py new file mode 100644 index 0000000..1ec84f2 --- /dev/null +++ b/src/app.py @@ -0,0 +1,5378 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from soar_sdk.abstract import SOARClient +from pydantic import model_validator +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.app import App +from soar_sdk.asset import AssetField, BaseAsset +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + + +# Custom Imports +from .client import call_github +from .consts import ( + GITHUB_ADD_MEMBER_MSG, + GITHUB_ADD_MEMBER_PENDING_MSG, + GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT, + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT, + GITHUB_ALREADY_TEAM_MEMBER_MSG, + GITHUB_COLLABORATOR_ADDED_MSG, + GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG, + GITHUB_COLLABORATOR_REMOVED_MSG, + GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG, + GITHUB_CONFIG_PARAMS_REQUIRED_CONNECTIVITY, + GITHUB_CURRENT_USER_ENDPOINT, + GITHUB_ENDPOINT_COMMENTS, + GITHUB_ENDPOINT_GET_ISSUE, + GITHUB_ENDPOINT_ISSUES, + GITHUB_ENDPOINT_LABELS, + GITHUB_EVENTS_ENDPOINT, + GITHUB_GET_MEMBERS_ENDPOINT, + GITHUB_INVALID_TEAM_ID, + GITHUB_JSON_COLLABORATOR_ADDED, + GITHUB_JSON_ID, + GITHUB_JSON_INVITEE, + GITHUB_JSON_INVITE_SENT, + GITHUB_JSON_LOGIN, + GITHUB_JSON_NAME, + GITHUB_JSON_PERMISSIONS, + GITHUB_JSON_REPO_ROLE, + GITHUB_JSON_ROLE, + GITHUB_LABEL_ADDED_MSG, + GITHUB_LIST_COLLABORATOR_ENDPOINT, + GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT, + GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT, + GITHUB_LIST_ORGANIZATIONS_ENDPOINT, + GITHUB_LIST_REPOS_ENDPOINT, + GITHUB_LIST_TEAMS_ENDPOINT, + GITHUB_LIST_USERS_ENDPOINT, + GITHUB_MEMBER_REMOVAL_MSG, + GITHUB_ORGANIZATION_REQUIRED_MSG, + GITHUB_PAGINATION_MAX_SIZE, + GITHUB_PARAM_AFFILIATION, + GITHUB_PARAM_AFFILIATION_DIRECT, + GITHUB_REPO_ROLE_ADMIN, + GITHUB_REPO_ROLE_PULL, + GITHUB_REPO_ROLE_PUSH, + GITHUB_REPO_ROLE_READ, + GITHUB_REPO_ROLE_WRITE, + GITHUB_REQUEST_DELETE, + GITHUB_REQUEST_PATCH, + GITHUB_REQUEST_POST, + GITHUB_REQUEST_PUT, + GITHUB_TEST_CONNECTIVITY_FAILED_MSG, + GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT, + GITHUB_USER_NOT_COLLABORATOR_MSG, + GITHUB_USER_NOT_TEAM_MEMBER_MSG, +) +from .views import display_view + + +logger = getLogger() + + +class Asset(BaseAsset): + personal_access_token: str | None = AssetField( + description="Personal Access Token (PAT)", sensitive=True + ) + client_id: str | None = AssetField(description="OAuth App Client ID") + client_secret: str | None = AssetField( + description="OAuth App Client Secret", sensitive=True + ) + + +app = App( + name="GitHub", + app_type="information", + logo="logo_github.svg", + logo_dark="logo_github_dark.svg", + product_vendor="Microsoft", + product_name="GitHub", + publisher="Splunk", + appid="5553a13b-ca44-4d03-ac48-293fce874001", + fips_compliant=True, + asset_cls=Asset, +) + + +@app.test_connectivity() +def test_connectivity(soar: SOARClient, asset: Asset) -> None: + """Validate the asset configuration for connectivity using supplied configuration.""" + + if not asset.personal_access_token: + raise ActionFailure(GITHUB_CONFIG_PARAMS_REQUIRED_CONNECTIVITY) + + # GET /user is the canonical connectivity probe. + endpoint = GITHUB_CURRENT_USER_ENDPOINT + + response = call_github("GET", endpoint, asset) + if response.status_code == 401: + raise ActionFailure( + f"{GITHUB_TEST_CONNECTIVITY_FAILED_MSG}: " + "HTTP 401 — check your Personal Access Token." + ) + _check_response(response) + + +class ListEventsParams(Params): + username: str = Param( + description="Username", primary=True, cef_types=["github username"] + ) + + +class ActorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars.githubusercontent.com/u/41301719?"], + ) + display_login: str | None = OutputField( + cef_types=["github username"], example_values=["test"] + ) + gravatar_id: str | None + id: float = OutputField(example_values=[41301719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class OrgOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars.githubusercontent.com/u/41301665?"], + ) + gravatar_id: str | None + id: float = OutputField(example_values=[41301665]) + login: str = OutputField( + cef_types=["github organization name"], example_values=["test"] + ) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test"] + ) + + +class DismisserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/1032411?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[1032411]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjEwMzI0MTE="] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/octocat"] + ) + + +class AlertOutput(ActionOutput): + affected_package_name: str = OutputField(example_values=["many_versioned_gem"]) + affected_range: str = OutputField(example_values=["0.2.0"]) + dismiss_reason: str | None = OutputField( + example_values=["No bandwidth to fix this"] + ) + dismissed_at: str | None = OutputField(example_values=["2017-10-25T00:00:00+00:00"]) + dismisser: DismisserOutput | None + external_identifier: str = OutputField(example_values=["CVE-2018-3728"]) + external_reference: str = OutputField( + cef_types=["url"], + example_values=["https://nvd.nist.gov/vuln/detail/CVE-2018-3728"], + ) + fixed_in: str | None = OutputField(example_values=["0.2.5"]) + id: float = OutputField(example_values=[7649605]) + + +class BlockedUserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars2.githubusercontent.com/u/39652351?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[406494157]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjM5NjUyMzUx"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class BodyOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class ColorOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class DescriptionOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class DueOnOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class NameOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class NoteOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class PermissionOutput(ActionOutput): + from_: str = OutputField(example_values=["write"], alias="from") + + +class PrivacyOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class FromOutput(ActionOutput): + admin: bool + pull: bool + push: bool + + +class PermissionsOutput(ActionOutput): + contents: str = OutputField(example_values=["read"]) + issues: str = OutputField(example_values=["write"]) + metadata: str = OutputField(example_values=["read"]) + + +class RepositoryOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + id: float = OutputField(example_values=[135493233]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: "LicenseOutput | None" + master_branch: str | None = OutputField(example_values=["master"]) + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: "OwnerOutput" + private: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers: float | None = OutputField(example_values=[1]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class TitleOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class ChangesOutput(ActionOutput): + body: BodyOutput + color: ColorOutput + description: DescriptionOutput + due_on: DueOnOutput + name: NameOutput + note: NoteOutput + permission: PermissionOutput + privacy: PrivacyOutput + repository: RepositoryOutput + title: TitleOutput + + +class OwnerOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AppOutput(ActionOutput): + created_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + description: str | None + external_url: str = OutputField( + cef_types=["url"], example_values=["http://super-duper.example.com"] + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["http://github.com/apps/super-duper"] + ) + id: float = OutputField(example_values=[2]) + name: str = OutputField(example_values=["Super Duper"]) + node_id: str = OutputField( + example_values=["MDExOkludGVncmF0aW9uMQ="] # pragma: allowlist secret + ) + owner: OwnerOutput + updated_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + + +class AuthorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/1?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[1]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjE="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class CommitterOutput(ActionOutput): + email: str = OutputField(cef_types=["email"], example_values=["test@user.com"]) + name: str = OutputField(cef_types=["github username"], example_values=["test"]) + + +class HeadCommitOutput(ActionOutput): + author: AuthorOutput + committer: CommitterOutput + id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + message: str = OutputField(example_values=["Sample message"]) + timestamp: str = OutputField(example_values=["2018-05-04T01:14:46Z"]) + tree_id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + + +class CommentsOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/issues/27999/comments"], + ) + + +class CommitsOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27999/commits"], + ) + + +class HtmlOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" + ], + ) + + +class IssueOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/issues/27999"], + ) + + +class ReviewCommentOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test/pulls/comments{/number}" + ], + ) + + +class ReviewCommentsOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27999/comments"], + ) + + +class SelfOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27999"], + ) + + +class StatusesOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" + ], + ) + + +class LinksOutput(ActionOutput): + html: HtmlOutput + pull_request: "PullRequestOutput" + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class LicenseOutput(ActionOutput): + key: str = OutputField(example_values=["mit"]) + name: str = OutputField(example_values=["MIT License"]) + node_id: str = OutputField(example_values=["MDc6TGljZW5zZTEz"]) + spdx_id: str = OutputField(example_values=["MIT"]) + url: str | None = OutputField( + cef_types=["url"], example_values=["https://api.github.com/licenses/mit"] + ) + + +class RepoOutput(ActionOutput): + id: float = OutputField(example_values=[141531062]) + name: str = OutputField(cef_types=["github repo"], example_values=["test-repo"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/1032411?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[1032411]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjEwMzI0MTE="] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class BaseOutput(ActionOutput): + label: str = OutputField(example_values=["test:2.8"]) + ref: str = OutputField(example_values=["2.8"]) + repo: RepoOutput + sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "08a49bc5302de373bdb44e5c189133a7d5d5f12b" # pragma: allowlist secret + ], + ) + user: UserOutput + + +class HeadOutput(ActionOutput): + label: str = OutputField(example_values=["test:uuid-translations"]) + ref: str = OutputField(example_values=["uuid-translations"]) + repo: RepoOutput + sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "ee780f3c664f8e2846aba087c5e9653a92c64252" # pragma: allowlist secret + ], + ) + user: UserOutput + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["e10c02"]) + default: bool + id: float = OutputField(example_values=[100079]) + name: str = OutputField(example_values=["Bug"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxMDAwNzk="] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/labels/Bug"], + ) + + +class MergedByOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/47313?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[47313]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjQ3MzEz"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class CreatorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[73419]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class MilestoneOutput(ActionOutput): + closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) + closed_issues: float = OutputField(example_values=[879]) + created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) + creator: CreatorOutput + description: str | None = OutputField(example_values=["Sample description"]) + due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] + ) + id: float = OutputField(example_values=[2117464]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], + ) + node_id: str = OutputField( + example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[10]) + open_issues: float = OutputField(example_values=[15]) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["3.4"]) + updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10"], + ) + + +class RequestedReviewersOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars2.githubusercontent.com/u/57224?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[57224]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjU3MjI0"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class OrganizationOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/41309665?v=4"], + ) + created_at: str = OutputField(example_values=["2018-07-16T23:02:38Z"]) + description: str | None + events_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/events"] + ) + followers: float = OutputField(example_values=[3]) + following: float = OutputField(example_values=[3]) + has_organization_projects: bool + has_repository_projects: bool + hooks_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/hooks"] + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41309665]) + issues_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/issues"] + ) + login: str = OutputField( + cef_types=["github organization name"], example_values=["test"] + ) + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/members{/member}"], + ) + node_id: str = OutputField( + example_values=["MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1"] # pragma: allowlist secret + ) + public_gists: float = OutputField(example_values=[3]) + public_members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/public_members{/member}"], + ) + public_repos: float = OutputField(example_values=[3]) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/repos"] + ) + type: str = OutputField(example_values=["Organization"]) + updated_at: str = OutputField(example_values=["2018-07-16T23:02:38Z"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test"] + ) + + +class RequestedTeamsOutput(ActionOutput): + created_at: str = OutputField(example_values=["2018-07-16T23:08:17Z"]) + description: str | None = OutputField(example_values=["Everybody but Tony"]) + id: float = OutputField(example_values=[2826794]) + members_count: float = OutputField(example_values=[2]) + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/teams/2826794/members{/member}"], + ) + name: str = OutputField(example_values=["not-tony-team"]) + node_id: str = OutputField( + example_values=["MDQ6VGVhbTI4MjY3OTQ="] # pragma: allowlist secret + ) + organization: OrganizationOutput + permission: str = OutputField(example_values=["pull"]) + privacy: str = OutputField(example_values=["closed"]) + repos_count: float = OutputField(example_values=[2]) + repositories_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/test/repos"] + ) + slug: str = OutputField(example_values=["not-tony-team"]) + updated_at: str = OutputField(example_values=["2018-07-16T23:08:17Z"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/2826794"] + ) + + +class PullRequestsOutput(ActionOutput): + diff_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/twigphp/Twig/pull/2721.diff"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/twigphp/Twig/pull/2721"] + ) + patch_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/twigphp/Twig/pull/2721.patch"], + ) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/twigphp/Twig/pulls/2721"], + ) + + +class CheckSuiteOutput(ActionOutput): + after: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + app: AppOutput + before: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "146e867f55c26428e5f9fade55a9bbf5e95a7912" # pragma: allowlist secret + ], + ) + check_runs_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" + ], + ) + conclusion: str | None = OutputField(example_values=["neutral"]) + created_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + head_branch: str | None = OutputField(example_values=["master"]) + head_commit: HeadCommitOutput + head_sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + id: float = OutputField(example_values=[5]) + latest_check_runs_count: float = OutputField(example_values=[1]) + latest_check_runs_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" + ], + ) + pull_requests: list[PullRequestsOutput] + status: str = OutputField(example_values=["completed"]) + updated_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + + +class OutputOutput(ActionOutput): + annotations_count: float = OutputField(example_values=[12]) + annotations_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/check-runs/4/annotations" + ], + ) + summary: str | None = OutputField(example_values=["It's all good"]) + text: str | None = OutputField(example_values=["Sample text"]) + title: str | None = OutputField(example_values=["Report"]) + + +class CheckRunOutput(ActionOutput): + pull_requests: list[PullRequestsOutput] + + +class PullRequestOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls/1"], + ) + + +class CommentOutput(ActionOutput): + links: LinksOutput | None = None + author_association: str = OutputField(example_values=["CONTRIBUTOR"]) + body: str = OutputField(example_values=["LGTM. Can you add some tests?"]) + commit_id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "329bd507c1123c1ab24e58b78fa8d32bd1c70639" # pragma: allowlist secret + ], + ) + created_at: str = OutputField(example_values=["2018-07-20T05:36:22Z"]) + diff_hunk: str = OutputField(example_values=["Sample"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/twigphp/Twig/pull/2721#issuecomment-406494157" + ], + ) + id: float = OutputField(example_values=[406494157]) + in_reply_to_id: float | None = OutputField(example_values=[203123149]) + issue_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/twigphp/Twig/issues/2721"], + ) + line: str | None + node_id: str = OutputField( + example_values=[ + "MDEyOklzc3VlQ29tbWVudDQwNjQ5NDE1Nw==" # pragma: allowlist secret + ] + ) + original_commit_id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "329bd507c1123c1ab24e58b78fa8d32bd1c70639" # pragma: allowlist secret + ], + ) + original_position: float = OutputField(example_values=[13]) + path: str = OutputField(example_values=["src/test/Component/Finder/Finder.php"]) + position: float | None = OutputField(example_values=[13]) + pull_request_review_id: float | None = OutputField(example_values=[138091767]) + pull_request_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27967"], + ) + updated_at: str = OutputField(example_values=["2018-07-20T05:36:22Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/twigphp/Twig/issues/comments/406494157" + ], + ) + user: UserOutput + + +class ForkeeOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-proj.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/contributors"], + ) + created_at: str = OutputField(example_values=["2018-07-20T06:03:13Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-proj.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-proj"] + ) + id: float = OutputField(example_values=[141670240]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/labels{/name}"], + ) + language: str | None = OutputField(example_values=["PHP"]) + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-proj"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxNDE2NzAyNDA="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + private: bool + public: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-07-20T06:02:31Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-proj.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-proj"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-07-20T06:02:33Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class AccountOutput(ActionOutput): + id: float = OutputField(example_values=[18404719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + organization_billing_email: str = OutputField( + cef_types=["email"], example_values=["username@email.com"] + ) + type: str = OutputField(example_values=["Organization"]) + + +class InstallationOutput(ActionOutput): + access_tokens_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/installations/2/access_tokens"], + ) + account: AccountOutput + app_id: float = OutputField(example_values=[5725]) + created_at: float = OutputField(example_values=[1525109898]) + events: str = OutputField(example_values=["User"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/settings/installations/2"], + ) + id: float = OutputField(example_values=[2]) + permissions: PermissionsOutput + repositories_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/installation/repositories"], + ) + repository_selection: str = OutputField(example_values=["selected"]) + single_file_name: str | None = OutputField( + cef_types=["file name"], example_values=["config.yml"] + ) + target_id: float = OutputField(example_values=[3880403]) + target_type: str = OutputField(example_values=["User"]) + updated_at: float = OutputField(example_values=[1525109899]) + + +class PlanOutput(ActionOutput): + bullets: str = OutputField(example_values=["Is Basic"]) + description: str = OutputField(example_values=["Basic Plan"]) + has_free_trial: bool + id: float = OutputField(example_values=[435]) + monthly_price_in_cents: float = OutputField(example_values=[1000]) + name: str = OutputField(example_values=["Basic Plan"]) + price_model: str = OutputField(example_values=["per-unit"]) + unit_name: str = OutputField(example_values=["seat"]) + yearly_price_in_cents: float = OutputField(example_values=[10000]) + + +class MarketplacePurchaseOutput(ActionOutput): + account: AccountOutput + billing_cycle: str = OutputField(example_values=["monthly"]) + free_trial_ends_on: str | None + next_billing_date: str = OutputField(example_values=["2017-11-05T00:00:00+00:00"]) + on_free_trial: bool + plan: PlanOutput + unit_count: float = OutputField(example_values=[1]) + + +class MemberOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/41301719?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41301719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjQxMzA5NzE5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class PagesOutput(ActionOutput): + action: str = OutputField(example_values=["created"]) + creator: CreatorOutput + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-proj/wiki/Home"], + ) + page_name: str = OutputField(example_values=["Home"]) + sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6" # pragma: allowlist secret + ], + ) + summary: str | None + title: str = OutputField(example_values=["Home"]) + + +class ProjectOutput(ActionOutput): + body: str | None = OutputField(example_values=["Project tasks for a trip to Space"]) + columns_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/1547122/columns"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:51Z"]) + creator: CreatorOutput + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-repo/projects/1"], + ) + id: float = OutputField(example_values=[1547122]) + name: str = OutputField(example_values=["Space 2.0"]) + node_id: str = OutputField( + example_values=["MDc6UHJvamVjdDE1NDcxMjI="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[1]) + owner_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + state: str = OutputField(example_values=["open"]) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:51Z"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/projects/1547122"] + ) + + +class ProjectCardOutput(ActionOutput): + column_id: float = OutputField(example_values=[2803722]) + column_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/2803722"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + creator: CreatorOutput + id: float = OutputField(example_values=[10189042]) + node_id: str = OutputField( + example_values=["MDExOlByb2plY3RDYXJkMTAxODkwNDI="] # pragma: allowlist secret + ) + note: str | None = OutputField( + example_values=["Work that can be completed in one hour or less"] + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/cards/10189042"], + ) + + +class ProjectColumnOutput(ActionOutput): + cards_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/2803722/cards"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + id: float = OutputField(example_values=[2803722]) + name: str = OutputField(example_values=["Small bugfixes"]) + node_id: str = OutputField( + example_values=["MDEzOlByb2plY3RDb2x1bW4yODAzNzIy"] # pragma: allowlist secret + ) + project_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/projects/1547122"] + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/2803722"], + ) + + +class UploaderOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/41309719?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41309719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjQxMzA5NzE5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AssetsOutput(ActionOutput): + browser_download_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-proj/releases/download/1.1.1.1.1/phapp_code42.tgz" + ], + ) + content_type: str = OutputField(example_values=["application/x-compressed"]) + created_at: str = OutputField(example_values=["2018-07-20T13:12:10Z"]) + download_count: float = OutputField(example_values=[0]) + id: float = OutputField(example_values=[7946908]) + label: str | None + name: str = OutputField(example_values=["phapp_code42.tgz"]) + node_id: str = OutputField( + example_values=["MDEyOlJlbGVhc2VBc3NldDc5NDY5MDg="] # pragma: allowlist secret + ) + size: float = OutputField(example_values=[91097]) + state: str = OutputField(example_values=["uploaded"]) + updated_at: str = OutputField(example_values=["2018-07-20T13:12:16Z"]) + uploader: UploaderOutput + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/releases/assets/8946908" + ], + ) + + +class ReleaseOutput(ActionOutput): + assets: list[AssetsOutput] + assets_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/toml-lang/toml/releases/11865985/assets" + ], + ) + author: AuthorOutput + body: str | None = OutputField(example_values=["Sample body"]) + created_at: str = OutputField(example_values=["2018-07-10T21:44:12Z"]) + draft: bool + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/toml-lang/toml/releases/tag/v0.5.0"], + ) + id: float = OutputField(example_values=[11865985]) + name: str | None = OutputField(example_values=["v0.5.0"]) + node_id: str = OutputField( + example_values=["MDc6UmVsZWFzZTExODY1OTg1"] # pragma: allowlist secret + ) + prerelease: bool + published_at: str = OutputField(example_values=["2018-07-10T21:58:13Z"]) + tag_name: str = OutputField(example_values=["v0.5.0"]) + tarball_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/toml-lang/toml/tarball/v0.5.0"], + ) + target_commitish: str = OutputField(example_values=["master"]) + upload_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://uploads.github.com/repos/toml-lang/toml/releases/11865985/assets{?name,label}" + ], + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/toml-lang/toml/releases/11865985" + ], + ) + zipball_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/toml-lang/toml/zipball/v0.5.0"], + ) + + +class RepositoriesAddedOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + id: float = OutputField(example_values=[135493233]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + private: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class RepositoriesRemovedOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + id: float = OutputField(example_values=[135493233]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + private: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class ReviewOutput(ActionOutput): + links: LinksOutput | None = None + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None + commit_id: str = OutputField( + example_values=[ + "34c5c7793cb3b279e22454cb6750c80560547b3a" # pragma: allowlist secret + ] # pragma: allowlist secret + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" + ], + ) + id: float = OutputField(example_values=[124575911]) + node_id: str = OutputField( + example_values=[ + "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MTI0NTc1OTEx" # pragma: allowlist secret + ] # pragma: allowlist secret + ) + pull_request_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls/1"], + ) + state: str = OutputField(example_values=["commented"]) + submitted_at: str = OutputField(example_values=["2018-05-30T20:18:31Z"]) + user: UserOutput + + +class SenderOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars2.githubusercontent.com/u/39652351?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[406494157]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjM5NjUyMzUx"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class PayloadOutput(ActionOutput): + action: str | None = OutputField(example_values=["added"]) + after: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "286996c9d9bf535e9e2de7cb3bb11a7a67dc1c61" # pragma: allowlist secret + ], + ) + alert: AlertOutput | None = None + base_ref: str | None = None + before: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "286996c9d9bf535e9ebde7cb3bb11a7a67dcbc6b" # pragma: allowlist secret + ], + ) + blocked_user: BlockedUserOutput | None = None + changes: ChangesOutput | None = None + check_run: CheckRunOutput | None = None + check_suite: CheckSuiteOutput | None = None + comment: CommentOutput | None = None + commits: list[CommitsOutput] | None = None + compare: str | None = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-repo/compare/a10867b14bb7...000000000000" + ], + ) + created: bool | None = None + deleted: bool | None = None + description: str | None = OutputField(example_values=["test-repo-Description"]) + distinct_size: float | None = OutputField(example_values=[100]) + effective_date: str | None = OutputField( + example_values=["2017-10-25T00:00:00+00:00"] + ) + forced: bool | None = None + forkee: ForkeeOutput | None = None + head: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "9bfa971bc5662a6f90408b58a7b2453d7dae4f83" # pragma: allowlist secret + ], + ) + head_commit: HeadCommitOutput | None = None + installation: InstallationOutput | None = None + issue: IssueOutput | None = None + marketplace_purchase: MarketplacePurchaseOutput | None = None + master_branch: str | None = OutputField(example_values=["master"]) + member: MemberOutput | None = None + number: float | None = OutputField(example_values=[27999]) + organization: OrganizationOutput | None = None + pages: list[PagesOutput] | None = None + project: ProjectOutput | None = None + project_card: ProjectCardOutput | None = None + project_column: ProjectColumnOutput | None = None + pull_request: PullRequestOutput | None = None + push_id: float | None = OutputField(example_values=[2731668591]) + pusher_type: str | None = OutputField(example_values=["user"]) + ref: str | None = OutputField(example_values=["refs/heads/2.8"]) + ref_type: str | None = OutputField(example_values=["repository"]) + release: ReleaseOutput | None = None + repositories_added: list[RepositoriesAddedOutput] | None = None + repositories_removed: list[RepositoriesRemovedOutput] | None = None + repository: RepositoryOutput | None = None + repository_selection: str | None = OutputField(example_values=["selected"]) + review: ReviewOutput | None = None + sender: SenderOutput | None = None + size: float | None = OutputField(example_values=[2]) + + +class ListEventsOutput(ActionOutput): + actor: ActorOutput + created_at: str = OutputField(example_values=["2018-07-19T06:26:57Z"]) + id: str = OutputField(example_values=["7987124418"]) + org: OrgOutput | None + payload: PayloadOutput + public: bool + repo: RepoOutput + type: str = OutputField(example_values=["CreateEvent"]) + + +class ListEventsSummary(ActionOutput): + total_events: int = OutputField(example_values=[10]) + + +@app.action( + description="List events performed by a user", + action_type="investigate", + verbose="Action will list a maximum of 300 events. Only events from the past 90 days will be listed.", + view_handler=display_view, +) +def list_events( + params: ListEventsParams, soar: SOARClient, asset: Asset +) -> list[ListEventsOutput]: + endpoint = GITHUB_EVENTS_ENDPOINT.format(username=params.username) + results = [] + page = 1 + + while True: + response = call_github( + "GET", + endpoint, + asset, + params={"per_page": GITHUB_PAGINATION_MAX_SIZE, "page": page}, + ) + _check_response(response) + page_items = response.json() + results.extend(page_items) + + if len(page_items) < GITHUB_PAGINATION_MAX_SIZE or page >= 3: + break + page += 1 + + output = [ListEventsOutput(**item) for item in results] + soar.set_summary(ListEventsSummary(total_events=len(output))) + return output + + +class ListUsersParams(Params): + organization_name: str = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + ) + limit: float | None = Param(description="Maximum number of users to be fetched") + + +class ListUsersOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29919753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class ListUsersSummary(ActionOutput): + total_users: int = OutputField(example_values=[10]) + + +@app.action(description="List users of an organization", action_type="investigate") +def list_users( + params: ListUsersParams, soar: SOARClient, asset: Asset +) -> list[ListUsersOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_LIST_USERS_ENDPOINT.format( + organization_name=params.organization_name + ) + output = [ListUsersOutput(**u) for u in _paginate_all(endpoint, asset, limit=limit)] + soar.set_summary(ListUsersSummary(total_users=len(output))) + return output + + +def _paginate_all( + endpoint: str, + asset: Asset, + extra_params: dict | None = None, + limit: int | None = None, +) -> list: + """Exhaust all pages of a GitHub list endpoint and return every item, up to limit.""" + page, results = 1, [] + while True: + query = { + "per_page": GITHUB_PAGINATION_MAX_SIZE, + "page": page, + **(extra_params or {}), + } + response = call_github("GET", endpoint, asset, params=query) + _check_response(response) + page_items = response.json() + if isinstance(page_items, dict): + page_items = [page_items] + results.extend(page_items) + if limit is not None and len(results) >= limit: + return results[:limit] + if len(page_items) < GITHUB_PAGINATION_MAX_SIZE: + break + page += 1 + return results + + +def _resolve_team_id(team: str, org_name: str | None, asset: Asset) -> int: + """Return a numeric team ID from either a numeric string or a team name. + + Mirrors legacy _verify_and_get_team_id: numeric input is used directly; + a name requires org_name and triggers a search across GET /orgs/{org}/teams. + Raises ActionFailure when the team cannot be found. + """ + if team.isdigit(): + return int(team) + + if not org_name: + raise ActionFailure(GITHUB_ORGANIZATION_REQUIRED_MSG) + + teams = _paginate_all(GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=org_name), asset) + for t in teams: + if t.get(GITHUB_JSON_NAME, "").lower() == team.lower(): + return t[GITHUB_JSON_ID] + + raise ActionFailure(GITHUB_INVALID_TEAM_ID.format(team=team)) + + +def _check_response(response) -> None: + """Raise ActionFailure for any non-2xx GitHub API response.""" + if not response.is_success: + raise ActionFailure(f"GitHub API error {response.status_code}: {response.text}") + + +def _if_role_same(collaborator: dict, role: str) -> bool: + """Mirror of legacy _if_role_same: check whether collaborator's current permissions match role.""" + perms = collaborator.get(GITHUB_JSON_PERMISSIONS, {}) + pull = perms.get(GITHUB_REPO_ROLE_PULL, False) + push = perms.get(GITHUB_REPO_ROLE_PUSH, False) + admin = perms.get(GITHUB_REPO_ROLE_ADMIN, False) + if role == GITHUB_REPO_ROLE_PULL: + return pull and not push and not admin + if role == GITHUB_REPO_ROLE_PUSH: + return pull and push and not admin + if role == GITHUB_REPO_ROLE_ADMIN: + return pull and push and admin + return False + + +class RemoveCollaboratorParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + column_name="Repo Owner", + ) + repo_name: str = Param( + description="Name of the repository", + primary=True, + cef_types=["github repo"], + column_name="Repo Name", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + + +class RemoveCollaboratorOutput(ActionOutput): + invite_deleted: bool = OutputField(column_name="Invite Deleted") + + +@app.action( + description="Remove user as a collaborator from the repo", + action_type="generic", + read_only=False, + verbose="If the user is not a direct collaborator to the repo, any pending invitations to the user will also be deleted.", + view_handler=display_view, +) +def remove_collaborator( + params: RemoveCollaboratorParams, soar: SOARClient, asset: Asset +) -> RemoveCollaboratorOutput: + repo = f"{params.repo_owner}/{params.repo_name}" + user = params.user + + direct_endpoint = GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo) + direct_collaborators = _paginate_all( + direct_endpoint, + asset, + extra_params={GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT}, + ) + + for collaborator in direct_collaborators: + if user.lower() == collaborator.get(GITHUB_JSON_LOGIN, "").lower(): + remove_endpoint = GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format( + repo_full_name=repo, user_name=user + ) + _check_response( + call_github(GITHUB_REQUEST_DELETE.upper(), remove_endpoint, asset) + ) + soar.set_message( + GITHUB_COLLABORATOR_REMOVED_MSG.format( + repo_full_name=repo, user_name=user + ) + ) + return RemoveCollaboratorOutput(invite_deleted=False) + + invitations_endpoint = GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format( + repo_full_name=repo + ) + pending = _paginate_all(invitations_endpoint, asset) + + invite_deleted = False + for invitation in pending: + if ( + user.lower() + == invitation.get(GITHUB_JSON_INVITEE, {}) + .get(GITHUB_JSON_LOGIN, "") + .lower() + ): + del_endpoint = GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( + repo_full_name=repo, invitation_id=invitation[GITHUB_JSON_ID] + ) + _check_response( + call_github(GITHUB_REQUEST_DELETE.upper(), del_endpoint, asset) + ) + invite_deleted = True + + if not invite_deleted: + soar.set_message( + GITHUB_USER_NOT_COLLABORATOR_MSG.format(user_name=user, repo_full_name=repo) + ) + else: + soar.set_message( + GITHUB_COLLABORATOR_REMOVED_MSG.format(repo_full_name=repo, user_name=user) + ) + return RemoveCollaboratorOutput(invite_deleted=invite_deleted) + + +class AddCollaboratorParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + column_name="Repo Owner", + ) + repo_name: str = Param( + description="Name of the repository", + primary=True, + cef_types=["github repo"], + column_name="Repo Name", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + role: str | None = Param( + description="Role of the user (Default: Push)", + default="Push", + value_list=["Pull", "Push", "Admin"], + column_name="Role", + ) + override: bool | None = Param( + description="Override existing role of collaborator", + column_name="Override Role", + ) + + +class InviteeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29930053?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29900753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXlNcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class InviterOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/41300385?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41300385]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXlNcjQxMzMxMzg1"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AddCollaboratorOutput(ActionOutput): + collaborator_added: bool = OutputField(column_name="Collaborator Added") + created_at: str | None = OutputField(example_values=["2018-07-25T12:47:00Z"]) + html_url: str | None = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-repo/invitations"], + ) + id: float | None = OutputField(example_values=[10200401]) + invite_sent: bool = OutputField(column_name="Invite Sent") + invitee: InviteeOutput | None = OutputField() + inviter: InviterOutput | None = OutputField() + node_id: str | None = OutputField( + example_values=[ + "MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE=" # pragma: allowlist secret + ] # pragma: allowlist secret + ) + permissions: str | None = OutputField(example_values=["admin"]) + url: str | None = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/user/repository_invitations/10245401"], + ) + + +@app.action( + description="Add user as a collaborator to repo", + action_type="generic", + read_only=False, + verbose="For repo whose owner is an organization, if the user is not a member of the organization, GitHub will send an email invite to the user to join as a collaborator. Otherwise, he will be directly added as a collaborator. For repo whose owner is a user, GitHub will always send an email invite to the user to join as a collaborator. If an invite is already sent to the user, re-invite will not be sent. If the user is already a collaborator, his role will be updated.", + view_handler=display_view, +) +def add_collaborator( + params: AddCollaboratorParams, soar: SOARClient, asset: Asset +) -> AddCollaboratorOutput: + repo = f"{params.repo_owner}/{params.repo_name}" + user = params.user + role = (params.role or "Push").lower() + override = params.override or False + + role_mapping = { + GITHUB_REPO_ROLE_PULL: GITHUB_REPO_ROLE_READ, + GITHUB_REPO_ROLE_PUSH: GITHUB_REPO_ROLE_WRITE, + GITHUB_REPO_ROLE_ADMIN: GITHUB_REPO_ROLE_ADMIN, + } + + # 1. Check direct collaborators + direct_endpoint = GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo) + direct_collaborators = _paginate_all( + direct_endpoint, + asset, + extra_params={GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT}, + ) + + collaborator_exists_diff_role = False + for collaborator in direct_collaborators: + if user.lower() == collaborator.get(GITHUB_JSON_LOGIN, "").lower(): + if _if_role_same(collaborator, role): + return AddCollaboratorOutput( + invite_sent=False, collaborator_added=False + ) + collaborator_exists_diff_role = True + break + else: + # 2. User is not a direct collaborator — check pending invitations + invitations_endpoint = ( + GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format( + repo_full_name=repo + ) + ) + pending = _paginate_all(invitations_endpoint, asset) + + for invitation in pending: + if ( + user.lower() + == invitation.get(GITHUB_JSON_INVITEE, {}) + .get(GITHUB_JSON_LOGIN, "") + .lower() + ): + if ( + role_mapping[role].lower() + == invitation.get(GITHUB_JSON_PERMISSIONS, "").lower() + ): + return AddCollaboratorOutput( + invite_sent=False, collaborator_added=False + ) + if override: + upd_endpoint = ( + GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( + repo_full_name=repo, + invitation_id=invitation[GITHUB_JSON_ID], + ) + ) + _check_response( + call_github( + GITHUB_REQUEST_PATCH.upper(), + upd_endpoint, + asset, + json={GITHUB_JSON_PERMISSIONS: role_mapping[role]}, + ) + ) + return AddCollaboratorOutput( + invite_sent=True, collaborator_added=False + ) + raise ActionFailure(GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG) + + # 3. Collaborator exists with different role — update only if override=True + if collaborator_exists_diff_role and not override: + raise ActionFailure(GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG) + + # 4. PUT /repos/{repo}/collaborators/{user} — adds new collaborator or updates role + add_endpoint = GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format( + repo_full_name=repo, user_name=user + ) + response = call_github( + GITHUB_REQUEST_PUT.upper(), + add_endpoint, + asset, + json={GITHUB_JSON_REPO_ROLE: role}, + ) + _check_response(response) + + body = response.json() if response.content else {} + if body and isinstance(body, dict): + # 201 — invitation sent + soar.set_message( + GITHUB_COLLABORATOR_ADDED_MSG.format( + user_name=user, repo_full_name=repo, repo_role=role + ) + ) + return AddCollaboratorOutput( + **{ + **body, + GITHUB_JSON_INVITE_SENT: True, + GITHUB_JSON_COLLABORATOR_ADDED: False, + } + ) + # 204 — user directly added (org member) + soar.set_message( + GITHUB_COLLABORATOR_ADDED_MSG.format( + user_name=user, repo_full_name=repo, repo_role=role + ) + ) + return AddCollaboratorOutput(invite_sent=False, collaborator_added=True) + + +class RemoveMemberParams(Params): + organization_name: str | None = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + team: str = Param( + description="Team name or team ID", + primary=True, + cef_types=["github team name", "github team id"], + column_name="Team", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + + +class RemoveMemberOutput(ActionOutput): + status: str = OutputField( + example_values=["success", "failed"], column_name="Status" + ) + + +@app.action( + description="Remove user from the team", + action_type="generic", + read_only=False, + verbose="Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", + view_handler=display_view, +) +def remove_member( + params: RemoveMemberParams, soar: SOARClient, asset: Asset +) -> RemoveMemberOutput: + team_id = _resolve_team_id(params.team, params.organization_name, asset) + + members = _paginate_all(GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id), asset) + for member in members: + if member.get(GITHUB_JSON_LOGIN, "").lower() == params.user.lower(): + _check_response( + call_github( + GITHUB_REQUEST_DELETE.upper(), + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( + team_id=team_id, user_name=params.user + ), + asset, + ) + ) + soar.set_message( + GITHUB_MEMBER_REMOVAL_MSG.format( + user_name=params.user, team=params.team + ) + ) + return RemoveMemberOutput(status="success") + + pending = _paginate_all( + GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT.format(team_id=team_id), asset + ) + for invitation in pending: + if params.user.lower() == invitation.get(GITHUB_JSON_LOGIN, "").lower(): + _check_response( + call_github( + GITHUB_REQUEST_DELETE.upper(), + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( + team_id=team_id, user_name=params.user + ), + asset, + ) + ) + soar.set_message( + GITHUB_MEMBER_REMOVAL_MSG.format( + user_name=params.user, team=params.team + ) + ) + return RemoveMemberOutput(status="success") + + soar.set_message( + GITHUB_USER_NOT_TEAM_MEMBER_MSG.format(team=params.team, user_name=params.user) + ) + return RemoveMemberOutput(status="success") + + +class AddMemberParams(Params): + organization_name: str | None = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + team: str = Param( + description="Team name or team ID", + primary=True, + cef_types=["github team name", "github team id"], + column_name="Team", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + role: str | None = Param( + description="Role of the user (Default: Member)", + default="Member", + value_list=["Member", "Maintainer"], + column_name="Role", + ) + + +class AddMemberOutput(ActionOutput): + state: str = OutputField( + example_values=["active", "pending"], column_name="Membership State" + ) + status: str = OutputField( + example_values=["success", "failed"], column_name="Status" + ) + role: str = OutputField(example_values=["member", "maintainer"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/teams/2830072/memberships/test"], + ) + + +@app.action( + description="Add user in a team", + action_type="generic", + read_only=False, + verbose="Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", + view_handler=display_view, +) +def add_member( + params: AddMemberParams, soar: SOARClient, asset: Asset +) -> AddMemberOutput: + role = (params.role or "Member").lower() + team_id = _resolve_team_id(params.team, params.organization_name, asset) + + members = _paginate_all( + GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id), + asset, + extra_params={GITHUB_JSON_ROLE: role}, + ) + for member in members: + if member.get(GITHUB_JSON_LOGIN, "").lower() == params.user.lower(): + soar.set_message( + GITHUB_ALREADY_TEAM_MEMBER_MSG.format( + user_name=params.user, team=params.team, role=role + ) + ) + return AddMemberOutput(**member, status="success") + + response = call_github( + GITHUB_REQUEST_PUT.upper(), + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( + team_id=team_id, user_name=params.user + ), + asset, + json={GITHUB_JSON_ROLE: role}, + ) + _check_response(response) + data = response.json() + if data.get("state") == "pending": + soar.set_message( + GITHUB_ADD_MEMBER_PENDING_MSG.format( + user_name=params.user, team=params.team, role=role + ) + ) + else: + soar.set_message( + GITHUB_ADD_MEMBER_MSG.format( + user_name=params.user, team=params.team, role=role + ) + ) + return AddMemberOutput(**data, status="success") + + +class ListTeamsParams(Params): + organization_name: str = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + limit: float | None = Param(description="Maximum number of teams to be fetched") + + +class ListTeamsOutput(ActionOutput): + id: float = OutputField( + cef_types=["github team id"], example_values=[2825460], column_name="Team Id" + ) + name: str = OutputField( + cef_types=["github team name"], + example_values=["new team"], + column_name="Team Name", + ) + description: str | None = OutputField( + example_values=["New team"], column_name="Team Description" + ) + privacy: str = OutputField(example_values=["closed"], column_name="Privacy") + permission: str = OutputField(example_values=["pull"], column_name="Permission") + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/teams/2825460/members{/member}"], + ) + node_id: str = OutputField( + example_values=["MDQ6VGVhbTI4JmcyNjA="] # pragma: allowlist secret + ) + repositories_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/2825460/repos"] + ) + slug: str = OutputField(example_values=["new-team"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/2825460"] + ) + + +class ListTeamsSummary(ActionOutput): + total_teams: int = OutputField(example_values=[10]) + + +@app.action( + description="List all teams of an organization", + action_type="investigate", + view_handler=display_view, +) +def list_teams( + params: ListTeamsParams, soar: SOARClient, asset: Asset +) -> list[ListTeamsOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=params.organization_name) + output = [ListTeamsOutput(**t) for t in _paginate_all(endpoint, asset, limit=limit)] + soar.set_summary(ListTeamsSummary(total_teams=len(output))) + return output + + +class ListReposParams(Params): + organization_name: str = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + limit: float | None = Param( + description="Maximum number of repositories to be fetched" + ) + + +class LicenseOutput(ActionOutput): + key: str = OutputField(example_values=["apache-2.0"]) + name: str = OutputField(example_values=["Apache License 2.0"]) + node_id: str = OutputField(example_values=["MDc6TGljZW5zZIT="]) + spdx_id: str = OutputField(example_values=["Apache-2.0"]) + url: str | None = OutputField( + cef_types=["url"], example_values=["https://api.github.com/licenses/apache-2.0"] + ) + + +class OwnerOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/41409665?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41309165]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["Organization"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class PermissionsOutput(ActionOutput): + admin: bool + pull: bool + push: bool + + +class ListReposOutput(ActionOutput): + # Column fields in widget display order + id: float = OutputField(example_values=[141304012], column_name="Repo Id") + full_name: str = OutputField( + example_values=["test/test-repo"], column_name="Repo Full Name" + ) + description: str | None = OutputField( + example_values=["Test Repo 1"], column_name="Repo Description" + ) + repo_owner: str | None = OutputField( + cef_types=["github username"], example_values=["test"], column_name="Repo Owner" + ) + created_at: str = OutputField( + example_values=["2018-07-16T23:05:00Z"], column_name="Created At" + ) + updated_at: str = OutputField( + example_values=["2018-07-16T23:03:00Z"], column_name="Updated At" + ) + private: bool = OutputField(column_name="Is Private") + # Non-column fields + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField(cef_types=["url"]) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvnckxNDEyMDQwMDA="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + permissions: PermissionsOutput | None + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-07-16T23:03:58Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + @model_validator(mode="before") + @classmethod + def _flatten_owner(cls, values): + if isinstance(values, dict) and "owner" in values: + owner = values["owner"] + if isinstance(owner, dict): + values.setdefault("repo_owner", owner.get("login")) + return values + + +class ListReposSummary(ActionOutput): + total_repos: int = OutputField(example_values=[10]) + + +@app.action( + description="List all repos of an organization", + action_type="investigate", + view_handler=display_view, +) +def list_repos( + params: ListReposParams, soar: SOARClient, asset: Asset +) -> list[ListReposOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_LIST_REPOS_ENDPOINT.format(org_name=params.organization_name) + output = [ListReposOutput(**r) for r in _paginate_all(endpoint, asset, limit=limit)] + soar.set_summary(ListReposSummary(total_repos=len(output))) + return output + + +class ListOrganizationsParams(Params): + limit: float | None = Param( + description="Maximum number of organizations to be fetched" + ) + + +class ListOrganizationsOutput(ActionOutput): + # Column fields in widget display order + id: float = OutputField(example_values=[41301665], column_name="Organization Id") + login: str = OutputField( + cef_types=["github organization name"], + example_values=["test"], + column_name="Organization Name", + ) + description: str | None = OutputField(column_name="Organization Description") + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test"], + column_name="Organization Url", + ) + # Non-column fields + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/41301665?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/events"] + ) + hooks_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/hooks"] + ) + issues_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/issues"] + ) + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/members{/member}"], + ) + node_id: str = OutputField( + example_values=["MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1"] # pragma: allowlist secret + ) + public_members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/public_members{/member}"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/repos"] + ) + + +class ListOrganizationsSummary(ActionOutput): + total_organizations: int = OutputField(example_values=[10]) + + +@app.action( + description="List all organizations", + action_type="investigate", + view_handler=display_view, +) +def list_organizations( + params: ListOrganizationsParams, soar: SOARClient, asset: Asset +) -> list[ListOrganizationsOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + output = [ + ListOrganizationsOutput(**o) + for o in _paginate_all(GITHUB_LIST_ORGANIZATIONS_ENDPOINT, asset, limit=limit) + ] + soar.set_summary(ListOrganizationsSummary(total_organizations=len(output))) + return output + + +class ListIssuesParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + limit: float | None = Param(description="Maximum number of issues to be fetched") + + +class AssigneeOutput(ActionOutput): # noqa: F811 + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/id"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/username"] + ) + id: float = OutputField(example_values=[7614131]) + login: str = OutputField( + cef_types=["github username"], example_values=["testusername"] + ) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username"] + ) + + +class AssigneesOutput(ActionOutput): # noqa: F811 + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/7614131?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/username"] + ) + id: float = OutputField(example_values=[7614131]) + login: str = OutputField(cef_types=["github username"], example_values=["username"]) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username"] + ) + + +class LabelsOutput(ActionOutput): # noqa: F811 + color: str = OutputField(example_values=["a2eeef"]) + default: bool + id: float = OutputField(example_values=[864962287]) + name: str = OutputField(example_values=["enhancement"]) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/owner/repo/labels/enhancement"], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/avatarid"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/username"] + ) + id: float = OutputField(example_values=[99999]) + login: str = OutputField(cef_types=["github username"], example_values=["username"]) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username"] + ) + + +class ListIssuesOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["COLLABORATOR"]) + body: str | None = OutputField(example_values=["Test issue body right here"]) + closed_at: str | None + comments: float = OutputField(example_values=[0]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/username/testrepo/issues/4/comments" + ], + ) + created_at: str = OutputField(example_values=["2018-04-23T01:15:25Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/username/testrepo/issues/4/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/username/testrepo/issues/4"], + ) + id: float = OutputField(example_values=[316631564]) + labels: list[LabelsOutput] + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/username/testrepo/issues/4/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + number: float = OutputField(cef_types=["github issue id"], example_values=[4]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/username/testrepo"], + ) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["Test issue title here"]) + updated_at: str = OutputField(example_values=["2018-04-23T01:15:25Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/username/testrepo/issues/4"], + ) + user: UserOutput + + +class ListIssuesSummary(ActionOutput): + total_issues: int = OutputField(example_values=[10]) + + +@app.action( + description="Get a list of issues for the GitHub repository", + action_type="investigate", + view_handler=display_view, +) +def list_issues( + params: ListIssuesParams, soar: SOARClient, asset: Asset +) -> list[ListIssuesOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_ENDPOINT_ISSUES.format( + repo_owner=params.repo_owner, repo_name=params.repo_name + ) + output = [ + ListIssuesOutput(**i) for i in _paginate_all(endpoint, asset, limit=limit) + ] + soar.set_summary(ListIssuesSummary(total_issues=len(output))) + return output + + +class ListCommentsParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + limit: float | None = Param(description="Maximum number of comments to be fetched") + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/52245234"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[99999999]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class ListCommentsOutput(ActionOutput): + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField( + example_values=["I am writing a comment to this issue"] + ) + created_at: str = OutputField(example_values=["2019-07-16T19:52:27Z"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/repoowner/TestingAPI/issues/1#issuecomment-511961016" + ], + ) + id: float = OutputField(example_values=[511961016]) + issue_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/1"], + ) + node_id: str = OutputField( + example_values=[ + "MDEyOklzc3VlQ29tbWVudDUxMTk2MTAxNg==" # pragma: allowlist secret + ] + ) + updated_at: str = OutputField(example_values=["2019-07-16T19:52:27Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511961016" + ], + ) + user: UserOutput + + +class ListCommentsSummary(ActionOutput): + total_comments: int = OutputField(example_values=[10]) + + +@app.action( + description="List comments for an issue on the GitHub repository", + action_type="investigate", +) +def list_comments( + params: ListCommentsParams, soar: SOARClient, asset: Asset +) -> list[ListCommentsOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_ENDPOINT_COMMENTS.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + output = [ + ListCommentsOutput(**c) for c in _paginate_all(endpoint, asset, limit=limit) + ] + soar.set_summary(ListCommentsSummary(total_comments=len(output))) + return output + + +class GetIssueParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class ClosedByOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class GetIssueOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField( + example_values=["This is the body I believe of the issue"] + ) + closed_at: str | None + closed_by: ClosedByOutput | None + comments: float = OutputField(example_values=[1]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments" + ], + ) + created_at: str = OutputField(example_values=["2019-07-16T19:52:15Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/1/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/repoowner/TestingAPI/issues/1"], + ) + id: float = OutputField(example_values=[468834090]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField( + example_values=["MDU6SXNzdWU0Njg4MzQwOTA="] # pragma: allowlist secret + ) + number: float = OutputField(cef_types=["github issue id"], example_values=[1]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI"], + ) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["This is a Test Issue"]) + updated_at: str = OutputField(example_values=["2019-07-16T20:00:23Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/1"], + ) + user: UserOutput + + +class GetIssueSummary(ActionOutput): + issue_number: float | None = OutputField(example_values=[1]) + issue_url: str | None = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] + ) + + +@app.action( + description="Retrieve an issue for the GitHub repository", action_type="investigate" +) +def get_issue(params: GetIssueParams, soar: SOARClient, asset: Asset) -> GetIssueOutput: + endpoint = GITHUB_ENDPOINT_GET_ISSUE.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github("GET", endpoint, asset) + _check_response(response) + data = response.json() + soar.set_summary( + GetIssueSummary(issue_number=data.get("number"), issue_url=data.get("html_url")) + ) + return GetIssueOutput(**data) + + +class CreateIssueParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_title: str = Param(description="Title of the issue") + issue_body: str | None = Param(description="Contents of the issue") + assignees: str | None = Param( + description="Comma-separated list of logins (usernames) for the users to assign to this issue", + primary=True, + cef_types=["github username"], + ) + labels: str | None = Param( + description="Comma-separated list of labels to associate with this issue" + ) + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["ededed"]) + default: bool + id: float = OutputField(example_values=[1454469929]) + name: str = OutputField(example_values=["test"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxNDU0NDY5OTI5"] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/labels/test" + ], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class CreateIssueOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField( + example_values=["This is what the body looks like when testing from the app"] + ) + closed_at: str | None + closed_by: ClosedByOutput | None + comments: float = OutputField(example_values=[0]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments" + ], + ) + created_at: str = OutputField(example_values=["2019-07-16T20:07:26Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/2/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/repoowner/TestingAPI/issues/2"], + ) + id: float = OutputField(example_values=[468840014]) + labels: list[LabelsOutput] + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField( + example_values=["MDU6SXNzdWU0Njg4NDAwMTQ="] # pragma: allowlist secret + ) + number: float = OutputField(cef_types=["github issue id"], example_values=[2]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI"], + ) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["I am testing from the app"]) + updated_at: str = OutputField(example_values=["2019-07-16T20:07:27Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/2"], + ) + user: UserOutput + + +class CreateIssueSummary(ActionOutput): + issue_number: float | None = OutputField(example_values=[1]) + issue_url: str | None = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] + ) + + +@app.action( + description="Create an issue for the GitHub repository", + action_type="generic", + read_only=False, + verbose="Only users with push access can set assignees/labels for the issues. \nAssignees/labels are silently dropped otherwise.", + view_handler=display_view, +) +def create_issue( + params: CreateIssueParams, soar: SOARClient, asset: Asset +) -> CreateIssueOutput: + assignees = [x.strip() for x in (params.assignees or "").split(",") if x.strip()] + labels = [x.strip() for x in (params.labels or "").split(",") if x.strip()] + body = { + "title": params.issue_title, + "body": params.issue_body or "", + "assignees": assignees, + "labels": labels, + } + endpoint = GITHUB_ENDPOINT_ISSUES.format( + repo_owner=params.repo_owner, repo_name=params.repo_name + ) + response = call_github(GITHUB_REQUEST_POST.upper(), endpoint, asset, json=body) + _check_response(response) + data = response.json() + soar.set_summary( + CreateIssueSummary( + issue_number=data.get("number"), issue_url=data.get("html_url") + ) + ) + return CreateIssueOutput(**data) + + +class UpdateIssueParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + state: str | None = Param( + description="State of the issue", value_list=["open", "closed"] + ) + issue_title: str | None = Param(description="Title of the issue") + issue_body: str | None = Param(description="Contents of the issue") + assignees: str | None = Param( + description="Comma-separated list of logins (usernames) for the users to assign to this issue", + primary=True, + cef_types=["github username"], + ) + labels: str | None = Param( + description="Comma-separated list of labels to associate with this issue" + ) + to_empty: bool | None = Param( + description="Empty the field values of the issue for which the parameter values are not provided", + default=False, + ) + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["ededed"]) + default: bool + id: float = OutputField(example_values=[1474194162]) + name: str = OutputField(example_values=["demo_update"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxNDc0MTk0MTYy"] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/labels/demo_update" + ], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class UpdateIssueOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField(example_values=["test update body"]) + closed_at: str | None = OutputField(example_values=["2019-07-29T11:24:09Z"]) + closed_by: ClosedByOutput | None + comments: float = OutputField(example_values=[1]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/issues/1/comments" + ], + ) + created_at: str = OutputField(example_values=["2019-07-27T05:42:57Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/issues/1/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/testbg11/Testing1/issues/1"], + ) + id: float = OutputField(example_values=[473601979]) + labels: list[LabelsOutput] + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/issues/1/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField( + example_values=["MDU6SXNzdWU0NzM2MDE5Nzk="] # pragma: allowlist secret + ) + number: float = OutputField(cef_types=["github issue id"], example_values=[1]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/testbg11/Testing1"], + ) + state: str = OutputField(example_values=["closed"]) + title: str = OutputField(example_values=["update test title"]) + updated_at: str = OutputField(example_values=["2019-07-29T11:27:10Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/testbg11/Testing1/issues/1"], + ) + user: UserOutput + + +class UpdateIssueSummary(ActionOutput): + issue_number: float | None = OutputField(example_values=[1]) + issue_url: str | None = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] + ) + + +@app.action( + description="Update an issue for the GitHub repository", + action_type="generic", + read_only=False, + verbose="Only users with push access can set assignees/labels for new issues. \nAssignees/labels are silently dropped otherwise. The existing labels and assignees of the issue will be replaced with the labels and assignees provided in the respective input parameters by the user. If the to_empty parameter is checked, then, it will empty the field values of the issue (except for the title and the state of the issue) for which the parameter values are not provided or kept empty. If the to_empty parameter is not checked, then, it will simply ignore the empty parameter values from being updated on the issue.", + view_handler=display_view, +) +def update_issue( + params: UpdateIssueParams, soar: SOARClient, asset: Asset +) -> UpdateIssueOutput: + assignees = [x.strip() for x in (params.assignees or "").split(",") if x.strip()] + labels = [x.strip() for x in (params.labels or "").split(",") if x.strip()] + to_empty = params.to_empty or False + + if to_empty: + body: dict = { + "body": params.issue_body, + "assignees": assignees, + "labels": labels, + } + else: + body = {} + if params.issue_body: + body["body"] = params.issue_body + if assignees: + body["assignees"] = assignees + if labels: + body["labels"] = labels + + if params.issue_title: + body["title"] = params.issue_title + if params.state: + body["state"] = params.state + + endpoint = GITHUB_ENDPOINT_GET_ISSUE.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github(GITHUB_REQUEST_PATCH.upper(), endpoint, asset, json=body) + _check_response(response) + data = response.json() + soar.set_summary( + UpdateIssueSummary( + issue_number=data.get("number"), issue_url=data.get("html_url") + ) + ) + return UpdateIssueOutput(**data) + + +class CreateCommentParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + comment_body: str = Param(description="Contents of a comment to add to the issue") + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class CreateCommentOutput(ActionOutput): + author_association: str = OutputField(example_values=["OWNER"]) + body: str = OutputField(example_values=["I am adding a comment from the app"]) + created_at: str = OutputField(example_values=["2019-07-16T20:11:38Z"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194" + ], + ) + id: float = OutputField(example_values=[511967194]) + issue_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/2"], + ) + node_id: str = OutputField( + example_values=[ + "MDEyOklzc3VlQ29tbWVudDUxMTk2NzE5NA==" # pragma: allowlist secret + ] + ) + updated_at: str = OutputField(example_values=["2019-07-16T20:11:38Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511967194" + ], + ) + user: UserOutput + + +class CreateCommentSummary(ActionOutput): + comment_id: float | None = OutputField(example_values=[1]) + comment_url: str | None = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-repo/issues/1#issuecomment-1"], + ) + + +@app.action( + description="Create a comment for an issue on the GitHub repository", + action_type="generic", + read_only=False, +) +def create_comment( + params: CreateCommentParams, soar: SOARClient, asset: Asset +) -> CreateCommentOutput: + endpoint = GITHUB_ENDPOINT_COMMENTS.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github( + GITHUB_REQUEST_POST.upper(), endpoint, asset, json={"body": params.comment_body} + ) + _check_response(response) + data = response.json() + soar.set_summary( + CreateCommentSummary( + comment_id=data.get("id"), comment_url=data.get("html_url") + ) + ) + return CreateCommentOutput(**data) + + +class AddLabelsParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + labels: str = Param( + description="Comma-separated list of labels to add to the issue" + ) + + +class AddLabelsOutput(ActionOutput): + color: str = OutputField(example_values=["ededed"]) + default: bool + id: float = OutputField(example_values=[1454479580]) + name: str = OutputField(example_values=["app-testing"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxNDU0NDc5NTgw"] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing" + ], + ) + + +@app.action( + description="Add label(s) to an issue on the GitHub repository", + action_type="generic", + read_only=False, + verbose="Only users with push access can set labels for the issues.", +) +def add_labels( + params: AddLabelsParams, soar: SOARClient, asset: Asset +) -> list[AddLabelsOutput]: + labels = [label.strip() for label in params.labels.split(",") if label.strip()] + + endpoint = GITHUB_ENDPOINT_LABELS.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github( + GITHUB_REQUEST_POST.upper(), endpoint, asset, json={"labels": labels} + ) + _check_response(response) + soar.set_message( + GITHUB_LABEL_ADDED_MSG.format( + labels=",".join(labels), issue_number=int(params.issue_number) + ) + ) + return [AddLabelsOutput(**label) for label in response.json()] + + +RepositoryOutput.model_rebuild() +LinksOutput.model_rebuild() + +if __name__ == "__main__": + app.cli() diff --git a/src/client.py b/src/client.py new file mode 100644 index 0000000..739a5c6 --- /dev/null +++ b/src/client.py @@ -0,0 +1,104 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Shared HTTP client utilities used by both test_connectivity and make_request. +# +# The legacy connector centralised auth resolution in _handle_update_request and +# all HTTP calls in _make_rest_call. This module is the SDK equivalent — a single +# place that knows how to pick the right credentials and fire a request, so every +# action doesn't duplicate that logic. + +from collections.abc import Generator + +import httpx + +from soar_sdk.exceptions import ActionFailure + +from .consts import ( + GITHUB_API_BASE_URL, + GITHUB_CONFIG_PARAMS_REQUIRED, +) + +# GitHub's recommended headers for REST API v3 calls. +# X-GitHub-Api-Version pins the behaviour to the 2022-11-28 schema version. +GITHUB_DEFAULT_HEADERS: dict[str, str] = { + "Accept": "application/vnd.github+json", + "X-GitHub-Api-Version": "2022-11-28", +} + + +class _BearerAuth(httpx.Auth): + """Injects 'Authorization: Bearer ' for OAuth access tokens.""" + + def __init__(self, token: str) -> None: + self._token = token + + def auth_flow( + self, request: httpx.Request + ) -> Generator[httpx.Request, httpx.Response]: + request.headers["Authorization"] = f"Bearer {self._token}" + yield request + + +def resolve_auth(asset) -> httpx.Auth: + """Return the correct httpx.Auth object for the configured asset credentials. + + Priority order: + 1. personal_access_token (PAT) → Authorization: Bearer + + Raises ActionFailure when no credentials are present. + """ + if asset.personal_access_token: + return _BearerAuth(asset.personal_access_token) + + raise ActionFailure(GITHUB_CONFIG_PARAMS_REQUIRED) + + +def call_github( + method: str, + endpoint: str, + asset, + *, + params: dict | None = None, + json: dict | None = None, + extra_headers: dict[str, str] | None = None, + timeout: float = 30.0, + verify: bool = True, +) -> httpx.Response: + """Make a single authenticated request to the GitHub REST API. + + Builds the full URL from GITHUB_API_BASE_URL + endpoint, attaches the + default GitHub headers (Accept / X-GitHub-Api-Version), merges any + caller-supplied headers on top, and resolves auth from the asset. + + Raises ActionFailure on network errors so callers don't need try/except. + """ + url = f"{GITHUB_API_BASE_URL}{endpoint}" + + headers = {**GITHUB_DEFAULT_HEADERS, **(extra_headers or {})} + auth = resolve_auth(asset) # raises ActionFailure when unconfigured + + try: + with httpx.Client(timeout=timeout, verify=verify) as client: + return client.request( + method=method, + url=url, + auth=auth, + headers=headers, + params=params, + json=json, + ) + except httpx.RequestError as exc: + raise ActionFailure(f"Error connecting to GitHub API: {exc}") from exc + except Exception as exc: + raise ActionFailure(f"Unexpected error during request: {exc}") from exc diff --git a/github_consts.py b/src/consts.py similarity index 69% rename from github_consts.py rename to src/consts.py index 5c83e82..8ff20b7 100644 --- a/github_consts.py +++ b/src/consts.py @@ -1,6 +1,6 @@ -# File: github_consts.py +# File: consts.py # noqa: ERA001 # -# Copyright (c) 2019-2025 Splunk Inc. +# Copyright (c) 2019-2026 Splunk Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,12 +12,9 @@ # the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, # either express or implied. See the License for the specific language governing permissions # and limitations under the License. -GITHUB_CONFIG_USERNAME = "username" -GITHUB_CONFIG_PASSWORD = "password" # pragma: allowlist secret GITHUB_CONFIG_CLIENT_ID = "client_id" -GITHUB_CONFIG_CLIENT_SECRET = "client_secret" # pragma: allowlist secret -GITHUB_CONFIG_AUTH_TOKEN = "personal_access_token" -GITHUB_ACCESS_TOKEN = "access_token" +GITHUB_CONFIG_CLIENT_SECRET = "client_secret" # pragma: allowlist secret # noqa: S105 +GITHUB_CONFIG_AUTH_TOKEN = "personal_access_token" # noqa: S105 GITHUB_JSON_REPO_OWNER = "repo_owner" GITHUB_JSON_REPO_NAME = "repo_name" GITHUB_JSON_ISSUE_NUMBER = "issue_number" @@ -28,7 +25,9 @@ GITHUB_JSON_COMMENT_BODY = "comment_body" GITHUB_JSON_TO_EMPTY = "to_empty" GITHUB_ENDPOINT_ISSUES = "/repos/{repo_owner}/{repo_name}/issues" -GITHUB_ENDPOINT_COMMENTS = "/repos/{repo_owner}/{repo_name}/issues/{issue_number}/comments" +GITHUB_ENDPOINT_COMMENTS = ( + "/repos/{repo_owner}/{repo_name}/issues/{issue_number}/comments" +) GITHUB_ENDPOINT_GET_ISSUE = "/repos/{repo_owner}/{repo_name}/issues/{issue_number}" GITHUB_ENDPOINT_LABELS = "/repos/{repo_owner}/{repo_name}/issues/{issue_number}/labels" GITHUB_INVALID_INTEGER = 'Please provide non-zero positive integer in "{parameter}"' @@ -36,49 +35,39 @@ GITHUB_TEST_CONNECTIVITY_FAILED_MSG = "Test connectivity failed" GITHUB_TEST_CONNECTIVITY_PASSED_MSG = "Test connectivity passed" GITHUB_ORGANIZATION_REQUIRED_MSG = "Parameter 'organization_name' is required if team name is provided in parameter 'team'" -GITHUB_USER_NOT_TEAM_MEMBER_MSG = ( - 'Member with username "{user_name}" is not a member of Team "{team}" and all pending invitations have been deleted' -) +GITHUB_USER_NOT_TEAM_MEMBER_MSG = 'Member with username "{user_name}" is not a member of Team "{team}" and all pending invitations have been deleted' GITHUB_INVALID_TEAM_ID = 'Team "{team}" not found' GITHUB_ALREADY_TEAM_MEMBER_MSG = 'Member with username "{user_name}" already a member of Team "{team}" with role of "{role}"' GITHUB_ADD_MEMBER_MSG = 'Member with username "{user_name}" successfully added in Team "{team}" and assigned role of "{role}"' -GITHUB_ADD_MEMBER_PENDING_MSG = ( - 'Member with username "{user_name}" has been successfully sent an invitation to join Team "{team}" with role of "{role}"' +GITHUB_ADD_MEMBER_PENDING_MSG = 'Member with username "{user_name}" has been successfully sent an invitation to join Team "{team}" with role of "{role}"' +GITHUB_MEMBER_REMOVAL_MSG = ( + 'Member with username "{user_name}" successfully removed from Team "{team}"' ) -GITHUB_MEMBER_REMOVAL_MSG = 'Member with username "{user_name}" successfully removed from Team "{team}"' GITHUB_CONFIG_PARAMS_REQUIRED_CONNECTIVITY = ( - "Either 'username' and 'password' or 'client_id' and 'client_secret' or 'oauth_access_token' are required for test connectivity" + "A 'personal_access_token' is required for test connectivity" ) GITHUB_CONFIG_PARAMS_REQUIRED = ( - "Please provide 'username' and 'password' or 'oauth_access_token' or run test connectivity with 'client_id' and 'client_secret'" + "Please provide a 'personal_access_token' in the asset configuration" ) GITHUB_BASE_URL_NOT_FOUND_MSG = "Phantom Base URL not found in System Settings. Please specify the value in System Settings" GITHUB_OAUTH_URL_MSG = "Using OAuth URL:" GITHUB_AUTHORIZE_USER_MSG = "Please authorize user in a separate tab using URL" GITHUB_CODE_RECEIVED_MSG = "Code Received" -GITHUB_GENERATING_ACCESS_TOKEN_MSG = "Generating access token" +GITHUB_GENERATING_ACCESS_TOKEN_MSG = "Generating access token" # noqa: S105 GITHUB_ALREADY_COLLABORATOR_MSG = 'User "{user_name}" already a collaborator to repo "{repo_full_name}" with role: "{repo_role}"' GITHUB_COLLABORATOR_ADDED_MSG = 'User "{user_name}" added successfully as a collaborator to repo "{repo_full_name}" with role "{repo_role}"' -GITHUB_COLLABORATOR_ROLE_UPDATED_MSG = ( - 'Updated role of user "{user_name}" as a collaborator to repo "{repo_full_name}" with new role: "{repo_role}"' -) -GITHUB_COLLABORATOR_INVITATION_SENT_MSG = ( - 'User "{user_name}" sent an invitation to join as a collaborator to repo "{repo_full_name}" with role: "{repo_role}"' -) -GITHUB_COLLABORATOR_INVITATION_ALREADY_SENT_MSG = ( - 'Invitation to user "{user_name}" already sent to join as a collaborator to repo "{repo_full_name}" with role: "{repo_role}"' -) -GITHUB_COLLABORATOR_INVITATION_UPDATED_MSG = ( - 'Invitation to user "{user_name}" to join as a collaborator to repo "{repo_full_name}" is updated with role: "{repo_role}"' -) +GITHUB_COLLABORATOR_ROLE_UPDATED_MSG = 'Updated role of user "{user_name}" as a collaborator to repo "{repo_full_name}" with new role: "{repo_role}"' +GITHUB_COLLABORATOR_INVITATION_SENT_MSG = 'User "{user_name}" sent an invitation to join as a collaborator to repo "{repo_full_name}" with role: "{repo_role}"' +GITHUB_COLLABORATOR_INVITATION_ALREADY_SENT_MSG = 'Invitation to user "{user_name}" already sent to join as a collaborator to repo "{repo_full_name}" with role: "{repo_role}"' +GITHUB_COLLABORATOR_INVITATION_UPDATED_MSG = 'Invitation to user "{user_name}" to join as a collaborator to repo "{repo_full_name}" is updated with role: "{repo_role}"' GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG = "Invitation already exists. Please set parameter 'override' to update an existing invitation" GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG = "User is already a collaborator. Please set parameter 'override' to update the role of user" GITHUB_USER_NOT_COLLABORATOR_MSG = 'User "{user_name}" is not a direct collaborator to repo "{repo_full_name}" and no pending invitations exist' -GITHUB_COLLABORATOR_INVITATION_DELETED_MSG = ( - 'User "{user_name}" is not a direct collaborator to repo "{repo_full_name}", all pending invitations deleted' -) +GITHUB_COLLABORATOR_INVITATION_DELETED_MSG = 'User "{user_name}" is not a direct collaborator to repo "{repo_full_name}", all pending invitations deleted' GITHUB_COLLABORATOR_REMOVED_MSG = 'User "{user_name}" successfully removed as a collaborator from repo "{repo_full_name}"' -GITHUB_LABEL_ADDED_MSG = 'Label(s) "{labels}" successfully added to the issue_number: "{issue_number}"' +GITHUB_LABEL_ADDED_MSG = ( + 'Label(s) "{labels}" successfully added to the issue_number: "{issue_number}"' +) GITHUB_PHANTOM_BASE_URL = "{phantom_base_url}rest" GITHUB_API_BASE_URL = "https://api.github.com" GITHUB_PARAM_PAGE = "page" @@ -88,7 +77,7 @@ GITHUB_PHANTOM_SYS_INFO_URL = "/system_info" GITHUB_PHANTOM_ASSET_INFO_URL = "/asset/{asset_id}" GITHUB_AUTHORIZE_URL = "https://github.com/login/oauth/authorize?client_id={client_id}&scope={scope}&state={state}" -GITHUB_ACCESS_TOKEN_URL = "https://github.com/login/oauth/access_token" +GITHUB_ACCESS_TOKEN_URL = "https://github.com/login/oauth/access_token" # noqa: S105 GITHUB_CURRENT_USER_ENDPOINT = "/user" GITHUB_EVENTS_ENDPOINT = "/users/{username}/events" GITHUB_LIST_ORGANIZATIONS_ENDPOINT = "/user/orgs" @@ -97,11 +86,17 @@ GITHUB_GET_MEMBERS_ENDPOINT = "/teams/{team_id}/members" GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT = "/teams/{team_id}/invitations" GITHUB_LIST_USERS_ENDPOINT = "/orgs/{organization_name}/members" -GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT = "/repos/{repo_full_name}/invitations" +GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT = ( + "/repos/{repo_full_name}/invitations" +) GITHUB_ADD_REMOVE_MEMBER_ENDPOINT = "/teams/{team_id}/memberships/{user_name}" -GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT = "/repos/{repo_full_name}/collaborators/{user_name}" +GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT = ( + "/repos/{repo_full_name}/collaborators/{user_name}" +) GITHUB_LIST_COLLABORATOR_ENDPOINT = "/repos/{repo_full_name}/collaborators" -GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT = "/repos/{repo_full_name}/invitations/{invitation_id}" +GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT = ( + "/repos/{repo_full_name}/invitations/{invitation_id}" +) GITHUB_JSON_ORGANIZATION = "organization_name" GITHUB_JSON_ID = "id" GITHUB_JSON_NAME = "name" diff --git a/src/views.py b/src/views.py new file mode 100644 index 0000000..e58dd83 --- /dev/null +++ b/src/views.py @@ -0,0 +1,77 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from typing import Any + +from soar_sdk.views.template_renderer import get_template_renderer, get_templates_dir + + +def _get_ctx_result(result: Any, provides: str) -> dict | None: + """Build a template context dict from a single ActionResult.""" + param = result.get_param() + summary = result.get_summary() + data = result.get_data() + + ctx: dict = { + "check_param": len(list(param.keys())) > 1, + "param": param, + "action_name": provides, + "status": "success" if result.get_status() else "failed", + } + if summary: + ctx["summary"] = summary + + ctx["data"] = data if data else {} + return ctx + + +_TEMPLATE_MAP: dict[str, str] = { + "list events": "github_list_events.html", + "list issues": "github_list_issues.html", + "create issue": "github_update_issue.html", + "update issue": "github_update_issue.html", + "add collaborator": "github_add_collaborator.html", + "remove collaborator": "github_remove_collaborator.html", + "add member": "github_add_member.html", + "remove member": "github_remove_member.html", + "list teams": "github_list_teams.html", + "list repos": "github_list_repos.html", + "list organizations": "github_list_organizations.html", +} + + +def display_view(provides: str, all_app_runs: list, context: dict) -> str: + """Entry point called by Splunk SOAR for custom action views. + + Mirrors the legacy github_view.display_view but renders via Jinja2 + instead of Django. Returns a fully-rendered HTML string; SOAR treats + any string return as prerendered HTML when context["prerender"] is True. + """ + results: list[dict] = [] + for _summary, action_results in all_app_runs: + for result in action_results: + ctx_result = _get_ctx_result(result, provides) + if ctx_result: + results.append(ctx_result) + + context["results"] = results + + template_name = _TEMPLATE_MAP.get(provides) + if not template_name: + return "" + + templates_dir = get_templates_dir(globals()) + renderer = get_template_renderer("jinja", templates_dir) + html = renderer.render_template(template_name, context) + context["prerender"] = True + return html diff --git a/templates/github_add_collaborator.html b/templates/github_add_collaborator.html new file mode 100644 index 0000000..ab1b0b0 --- /dev/null +++ b/templates/github_add_collaborator.html @@ -0,0 +1,99 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No data found

+ {% else %} + + + + + + + + + + + + + + {% for item in result.data %} + + + + + + + + + + {% endfor %} + +
Repo OwnerRepo NameUserRoleOverride RoleCollaborator AddedInvite Sent
+ + {{ result.param.repo_owner }}  + + + + {{ result.param.repo_name }}  + + + + {{ result.param.user }}  + + {{ result.param.role or 'Push' }}{{ result.param.override }}{{ item.get('collaborator_added', '') }}{{ item.get('invite_sent', '') }}
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_add_member.html b/templates/github_add_member.html new file mode 100644 index 0000000..b58cde4 --- /dev/null +++ b/templates/github_add_member.html @@ -0,0 +1,96 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No data found

+ {% else %} + + + + + + + + + + + + + {% for item in result.data %} + + + + + + + + + {% endfor %} + +
Organization NameTeamUserRoleMembership StateStatus
+ + {{ result.param.organization_name }}  + + + + {{ result.param.team }}  + + + + {{ result.param.user }}  + + {{ result.param.role or 'Member' }}{{ item.get('state', '') }}{{ result.status }}
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_list_events.html b/templates/github_list_events.html new file mode 100644 index 0000000..83e6dbb --- /dev/null +++ b/templates/github_list_events.html @@ -0,0 +1,117 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No data found

+ {% else %} +

Action Parameters

+ + + + + +
Username + + {{ result.param.username }}  + + +
+
+

Event Details

+ + + + + + + + + + + + + {% for event in result.data %} + + + + + + + + + {% endfor %} + +
Event IDEvent TypePublicCreated AtRepo NameOrganization Name
{{ event.get('id', '') }}{{ event.get('type', '') }}{{ event.get('public', '') }}{{ event.get('created_at', '') }} + {% set repo = event.get('repo') or {} %} + + {{ repo.get('name', '') }}  + + + + {% set org = event.get('org') or {} %} + + {{ org.get('login', '') }}  + + +
+
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_list_issues.html b/templates/github_list_issues.html new file mode 100644 index 0000000..291d64c --- /dev/null +++ b/templates/github_list_issues.html @@ -0,0 +1,135 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No data found

+ {% else %} +

Action Parameters

+ + + + + + + + + + {% if result.param.limit %} + + + + + {% endif %} +
Repo Owner + + {{ result.param.repo_owner }}  + + +
Repo Name + + {{ result.param.repo_name }}  + + +
Limit{{ result.param.limit }}
+
+

Issue Details

+ + + + + + + + + + + + {% for issue in result.data %} + {% set assignee = issue.get('assignee') or {} %} + + + + + + {% if assignee.get('login') %} + + {% else %} + + {% endif %} + + {% endfor %} + +
Issue NumberIssue TitleIssue BodyIssue StateAssignee
+ + {{ issue.get('number', '') }}  + + + {{ issue.get('title', '') }}{{ issue.get('body', '') }}{{ issue.get('state', '') }} + + {{ assignee.get('login', '') }}  + + + None
+
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_list_organizations.html b/templates/github_list_organizations.html new file mode 100644 index 0000000..a965b50 --- /dev/null +++ b/templates/github_list_organizations.html @@ -0,0 +1,86 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No organizations found

+ {% else %} + + + + + + + + + + + {% for org in result.data %} + + + + + + + {% endfor %} + +
Organization IdOrganization NameOrganization DescriptionOrganization Url
{{ org.get('id', '') }} + + {{ org.get('login', '') }}  + + {{ org.get('description', '') }} + + {{ org.get('url', '') }}  + +
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_list_repos.html b/templates/github_list_repos.html new file mode 100644 index 0000000..bb7a621 --- /dev/null +++ b/templates/github_list_repos.html @@ -0,0 +1,95 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No repos found

+ {% else %} + + + + + + + + + + + + + + + {% for repo in result.data %} + {% set owner = repo.get('owner') or {} %} + + + + + + + + + + + {% endfor %} + +
Organization NameRepo IdRepo Full NameRepo DescriptionRepo OwnerCreated AtUpdated AtIs Private
+ + {{ result.param.organization_name }}  + + {{ repo.get('id', '') }}{{ repo.get('full_name', '') }}{{ repo.get('description', '') }} + + {{ owner.get('login', '') }}  + + {{ repo.get('created_at', '') }}{{ repo.get('updated_at', '') }}{{ repo.get('private', '') }}
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_list_teams.html b/templates/github_list_teams.html new file mode 100644 index 0000000..1f06e42 --- /dev/null +++ b/templates/github_list_teams.html @@ -0,0 +1,96 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No teams found

+ {% else %} + + + + + + + + + + + + + {% for team in result.data %} + + + + + + + + + {% endfor %} + +
Organization NameTeam IdTeam NameTeam DescriptionPrivacyPermission
+ + {{ result.param.organization_name }}  + + + + {{ team.get('id', '') }}  + + + + {{ team.get('name', '') }}  + + {{ team.get('description', '') }}{{ team.get('privacy', '') }}{{ team.get('permission', '') }}
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_remove_collaborator.html b/templates/github_remove_collaborator.html new file mode 100644 index 0000000..917df07 --- /dev/null +++ b/templates/github_remove_collaborator.html @@ -0,0 +1,92 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No data found

+ {% else %} + + + + + + + + + + + {% for item in result.data %} + + + + + + + {% endfor %} + +
Repo OwnerRepo NameUserInvite Deleted
+ + {{ result.param.repo_owner }}  + + + + {{ result.param.repo_name }}  + + + + {{ result.param.user }}  + + {{ item.get('invite_deleted', '') }}
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_remove_member.html b/templates/github_remove_member.html new file mode 100644 index 0000000..4e4052b --- /dev/null +++ b/templates/github_remove_member.html @@ -0,0 +1,86 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ + + + + + + + + + + + + + + + + +
Organization NameTeamUserStatus
+ + {{ result.param.organization_name }}  + + + + {{ result.param.team }}  + + + + {{ result.param.user }}  + + {{ result.status }}
+ {% endfor %} +
+ +{% endblock %} diff --git a/templates/github_update_issue.html b/templates/github_update_issue.html new file mode 100644 index 0000000..32955d2 --- /dev/null +++ b/templates/github_update_issue.html @@ -0,0 +1,171 @@ + +{% extends 'widgets/widget_template.html' %} +{% block widget_content %} + +
+ {% for result in results %} +
+ {% if not result.data %} +

No data found

+ {% else %} +

Action Parameters

+ + + + + + + + + + {% if result.param.issue_number %} + + + + + {% endif %} + {% if result.param.state %} + + + + + {% endif %} + {% if result.param.issue_title %} + + + + + {% endif %} + {% if result.param.issue_body %} + + + + + {% endif %} + {% if result.param.assignees %} + + + + + {% endif %} + {% if result.param.labels %} + + + + + {% endif %} + {% if result.param.to_empty %} + + + + + {% endif %} +
Repo Owner + + {{ result.param.repo_owner }}  + + +
Repo Name + + {{ result.param.repo_name }}  + + +
Issue Number + + {{ result.param.issue_number }}  + + +
State{{ result.param.state }}
Issue Title{{ result.param.issue_title }}
Issue Body{{ result.param.issue_body }}
Assignees + + {{ result.param.assignees }}  + + +
Labels{{ result.param.labels }}
To Empty{{ result.param.to_empty }}
+
+

Issue Details

+ + + + + + + + + + + {% for issue in result.data %} + + + + + + + {% endfor %} + +
Issue NumberIssue TitleIssue BodyIssue State
+ + {{ issue.get('number', '') }}  + + + {{ issue.get('title', '') }}{{ issue.get('body', '') }}{{ issue.get('state', '') }}
+
+ {% endif %} + {% endfor %} +
+ +{% endblock %} diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 0000000..6465bfc --- /dev/null +++ b/tests/__init__.py @@ -0,0 +1,13 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..e8b9103 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,61 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Shared fixtures for GitHub SOAR app tests.""" + +import sys +from pathlib import Path +from unittest.mock import MagicMock + +import pytest + +# Ensure src/ is on the path so tests can import app, client, consts directly. +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) + + +def make_asset( + *, + personal_access_token=None, + client_id=None, + client_secret=None, +): + """Return a mock Asset with the given credential fields set.""" + asset = MagicMock() + asset.personal_access_token = personal_access_token + asset.client_id = client_id + asset.client_secret = client_secret + return asset + + +def make_response(status_code=200, json_body=None, content=True): + """Return a mock httpx.Response-like object.""" + resp = MagicMock() + resp.status_code = status_code + resp.is_success = 200 <= status_code < 300 + resp.json.return_value = json_body if json_body is not None else {} + resp.text = str(json_body) + # Simulate truthy content only when content=True + resp.content = b"body" if content else b"" + return resp + + +@pytest.fixture +def pat_asset(): + """Asset configured with a Personal Access Token.""" + return make_asset(personal_access_token="ghp_testtoken") + + +@pytest.fixture +def soar(): + """Stub SOARClient (not used by any implemented action, but required by test_connectivity).""" + return MagicMock() diff --git a/tests/test_actions.py b/tests/test_actions.py new file mode 100644 index 0000000..c7765c4 --- /dev/null +++ b/tests/test_actions.py @@ -0,0 +1,1104 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Tests for implemented action handlers in src/app.py. + +All GitHub API calls are mocked at the `client.call_github` boundary so no +real network traffic is made. + +Strategy: call `action_fn.__wrapped__(params, asset)` directly. The SDK +decorator wraps every handler with @wraps, so __wrapped__ is the original +function. Calling it directly means: + - ActionFailure propagates as a normal exception (not swallowed to a bool) + - The return value is the actual ActionOutput, not True/False + - The asset argument we pass is used as-is (no re-instantiation by the app) +""" + +import contextlib +import sys +import unittest +from pathlib import Path +from unittest.mock import MagicMock, patch + +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) + +from soar_sdk.exceptions import ActionFailure +import pytest + +# --------------------------------------------------------------------------- +# Helpers +# --------------------------------------------------------------------------- + + +def make_asset( + *, + personal_access_token=None, + client_id=None, + client_secret=None, +): + """Return a real Asset built via model_construct (no validation, Pydantic v2).""" + from app import Asset + + return Asset.model_construct( + personal_access_token=personal_access_token, + client_id=client_id, + client_secret=client_secret, + ) + + +def make_response(status_code=200, json_body=None, content=True): + resp = MagicMock() + resp.status_code = status_code + resp.is_success = 200 <= status_code < 300 + resp.json.return_value = json_body if json_body is not None else {} + resp.text = str(json_body) + resp.content = b"body" if content else b"" + return resp + + +def _pat_asset(): + return make_asset(personal_access_token="ghp_test") + + +# Minimal dicts that satisfy the Output models' required fields. +_MINIMAL_EVENT = { + "id": "1", + "type": "PushEvent", + "actor": {}, + "repo": {}, + "payload": {}, + "public": True, + "created_at": "2024-01-01T00:00:00Z", +} + +_MINIMAL_USER = { + "login": "octocat", + "id": 1, + "node_id": "abc", + "avatar_url": "https://avatars.githubusercontent.com/u/1", + "gravatar_id": "", + "url": "https://api.github.com/users/octocat", + "html_url": "https://github.com/octocat", + "followers_url": "https://api.github.com/users/octocat/followers", + "following_url": "https://api.github.com/users/octocat/following{/other_user}", + "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}", + "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/octocat/subscriptions", + "organizations_url": "https://api.github.com/users/octocat/orgs", + "repos_url": "https://api.github.com/users/octocat/repos", + "events_url": "https://api.github.com/users/octocat/events{/privacy}", + "received_events_url": "https://api.github.com/users/octocat/received_events", + "type": "User", + "site_admin": False, +} + +_MINIMAL_TEAM = { + "id": 42, + "node_id": "abc", + "name": "myteam", + "slug": "myteam", + "description": "", + "privacy": "closed", + "permission": "pull", + "url": "https://api.github.com/teams/42", + "members_url": "https://api.github.com/teams/42/members{/member}", + "repositories_url": "https://api.github.com/teams/42/repos", +} + +_MINIMAL_ISSUE = { + "id": 100, + "node_id": "abc", + "url": "https://api.github.com/repos/owner/repo/issues/1", + "repository_url": "https://api.github.com/repos/owner/repo", + "labels_url": "https://api.github.com/repos/owner/repo/issues/1/labels{/name}", + "comments_url": "https://api.github.com/repos/owner/repo/issues/1/comments", + "events_url": "https://api.github.com/repos/owner/repo/issues/1/events", + "html_url": "https://github.com/owner/repo/issues/1", + "number": 1, + "state": "open", + "title": "Test issue", + "body": "", + "user": _MINIMAL_USER, + "labels": [], + "assignees": [], + "locked": False, + "comments": 0, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "author_association": "OWNER", +} + +_MINIMAL_COMMENT = { + "id": 1, + "node_id": "abc", + "url": "https://api.github.com/repos/owner/repo/issues/comments/1", + "html_url": "https://github.com/owner/repo/issues/1#issuecomment-1", + "body": "A comment", + "user": _MINIMAL_USER, + "created_at": "2024-01-01T00:00:00Z", + "updated_at": "2024-01-01T00:00:00Z", + "author_association": "OWNER", +} + +_MINIMAL_LABEL = { + "id": 1, + "node_id": "abc", + "url": "https://api.github.com/repos/owner/repo/labels/bug", + "name": "bug", + "color": "d73a4a", + "default": True, +} + +_MINIMAL_ADD_MEMBER_RESP = { + "url": "https://api.github.com/teams/42/memberships/octocat", + "role": "member", + "state": "active", +} + +_MINIMAL_COLLABORATOR = { + **_MINIMAL_USER, + "permissions": {"pull": True, "push": False, "admin": False}, +} + + +# --------------------------------------------------------------------------- +# test_connectivity +# --------------------------------------------------------------------------- + + +class TestTestConnectivity(unittest.TestCase): + def _run(self, asset): + from app import test_connectivity + + # __wrapped__ is the original function before the SDK decorator + return test_connectivity.__wrapped__(soar=MagicMock(), asset=asset) + + @patch("app.call_github") + def test_pat_success(self, mock_call): + mock_call.return_value = make_response(200) + asset = make_asset(personal_access_token="ghp_x") + self._run(asset) + mock_call.assert_called_once_with("GET", "/user", asset) + + @patch("app.call_github") + def test_no_credentials_raises(self, mock_call): + asset = make_asset() + with pytest.raises(ActionFailure): + self._run(asset) + mock_call.assert_not_called() + + @patch("app.call_github") + def test_pat_401_raises(self, mock_call): + mock_call.return_value = make_response(401) + asset = make_asset(personal_access_token="ghp_bad") + with pytest.raises(ActionFailure): + self._run(asset) + + @patch("app.call_github") + def test_github_error_response_raises(self, mock_call): + mock_call.return_value = make_response(403) + asset = make_asset(personal_access_token="ghp_x") + with pytest.raises(ActionFailure): + self._run(asset) + + +# --------------------------------------------------------------------------- +# list_events +# --------------------------------------------------------------------------- + + +class TestListEvents(unittest.TestCase): + def _run(self, username, asset=None): + asset = asset or _pat_asset() + from app import ListEventsParams, list_events + + params = ListEventsParams(username=username) + return list_events.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run("octocat", asset=asset) + mock_call.assert_called_once_with( + "GET", + "/users/octocat/events", + asset, + params={"per_page": 100, "page": 1}, + ) + + @patch("app.call_github") + def test_paginates_up_to_3_pages(self, mock_call): + # list_events stops after 3 pages regardless of fullness; assert call count + # We don't construct ListEventsOutput — just count how many times the API was called + full_page = [{}] * 100 + mock_call.return_value = make_response(200, json_body=full_page) + with contextlib.suppress(Exception): + self._run("octocat") + assert mock_call.call_count == 3 + + @patch("app.call_github") + def test_stops_when_partial_page(self, mock_call): + full_page = [{}] * 100 + partial_page = [{}] * 5 + mock_call.side_effect = [ + make_response(200, json_body=full_page), + make_response(200, json_body=partial_page), + ] + with contextlib.suppress(Exception): + self._run("octocat") + assert mock_call.call_count == 2 + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(500, json_body={}) + with pytest.raises(ActionFailure): + self._run("octocat") + + +# --------------------------------------------------------------------------- +# list_users +# --------------------------------------------------------------------------- + + +class TestListUsers(unittest.TestCase): + def _run(self, org, limit=None, asset=None): + asset = asset or _pat_asset() + from app import ListUsersParams, list_users + + params = ListUsersParams(organization_name=org, limit=limit) + return list_users.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run("myorg", asset=asset) + mock_call.assert_called_once_with( + "GET", + "/orgs/myorg/members", + asset, + params={"per_page": 100, "page": 1}, + ) + + @patch("app.call_github") + def test_limit_respected(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_USER] * 100) + result = self._run("myorg", limit=3) + assert len(result) == 3 + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(404) + with pytest.raises(ActionFailure): + self._run("noorg") + + +# --------------------------------------------------------------------------- +# list_teams +# --------------------------------------------------------------------------- + + +class TestListTeams(unittest.TestCase): + def _run(self, org, limit=None, asset=None): + asset = asset or _pat_asset() + from app import ListTeamsParams, list_teams + + params = ListTeamsParams(organization_name=org, limit=limit) + return list_teams.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run("myorg", asset=asset) + mock_call.assert_called_once_with( + "GET", + "/orgs/myorg/teams", + asset, + params={"per_page": 100, "page": 1}, + ) + + @patch("app.call_github") + def test_returns_list_of_outputs(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_TEAM]) + result = self._run("myorg") + assert len(result) == 1 + assert result[0].name == "myteam" + + @patch("app.call_github") + def test_limit_respected(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_TEAM] * 100) + result = self._run("myorg", limit=2) + assert len(result) == 2 + + +# --------------------------------------------------------------------------- +# list_repos +# --------------------------------------------------------------------------- + + +class TestListRepos(unittest.TestCase): + def _run(self, org, limit=None, asset=None): + asset = asset or _pat_asset() + from app import ListReposParams, list_repos + + params = ListReposParams(organization_name=org, limit=limit) + return list_repos.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run("myorg", asset=asset) + mock_call.assert_called_once_with( + "GET", + "/orgs/myorg/repos", + asset, + params={"per_page": 100, "page": 1}, + ) + + @patch("app.call_github") + def test_returns_empty_list(self, mock_call): + mock_call.return_value = make_response(200, json_body=[]) + result = self._run("myorg") + assert result == [] + + +# --------------------------------------------------------------------------- +# list_organizations +# --------------------------------------------------------------------------- + + +class TestListOrganizations(unittest.TestCase): + def _run(self, limit=None, asset=None): + asset = asset or _pat_asset() + from app import ListOrganizationsParams, list_organizations + + params = ListOrganizationsParams(limit=limit) + return list_organizations.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run(asset=asset) + mock_call.assert_called_once_with( + "GET", + "/user/orgs", + asset, + params={"per_page": 100, "page": 1}, + ) + + +# --------------------------------------------------------------------------- +# list_issues +# --------------------------------------------------------------------------- + + +class TestListIssues(unittest.TestCase): + def _run(self, owner="owner", repo="repo", limit=None, asset=None): + asset = asset or _pat_asset() + from app import ListIssuesParams, list_issues + + params = ListIssuesParams(repo_owner=owner, repo_name=repo, limit=limit) + return list_issues.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run(asset=asset) + mock_call.assert_called_once_with( + "GET", + "/repos/owner/repo/issues", + asset, + params={"per_page": 100, "page": 1}, + ) + + @patch("app.call_github") + def test_limit_respected(self, mock_call): + mock_call.return_value = make_response(200, json_body=[{}] * 100) + result = self._run(limit=1) + assert len(result) == 1 + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(403) + with pytest.raises(ActionFailure): + self._run() + + +# --------------------------------------------------------------------------- +# list_comments +# --------------------------------------------------------------------------- + + +class TestListComments(unittest.TestCase): + def _run(self, owner="owner", repo="repo", issue_number=1, limit=None, asset=None): + asset = asset or _pat_asset() + from app import ListCommentsParams, list_comments + + params = ListCommentsParams( + repo_owner=owner, repo_name=repo, issue_number=issue_number, limit=limit + ) + return list_comments.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body=[]) + self._run(issue_number=7, asset=asset) + mock_call.assert_called_once_with( + "GET", + "/repos/owner/repo/issues/7/comments", + asset, + params={"per_page": 100, "page": 1}, + ) + + @patch("app.call_github") + def test_returns_list_of_outputs(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_COMMENT]) + result = self._run() + assert len(result) == 1 + assert result[0].body == "A comment" + + +# --------------------------------------------------------------------------- +# get_issue +# --------------------------------------------------------------------------- + + +class TestGetIssue(unittest.TestCase): + def _run(self, owner="owner", repo="repo", issue_number=1, asset=None): + asset = asset or _pat_asset() + from app import GetIssueParams, get_issue + + params = GetIssueParams( + repo_owner=owner, repo_name=repo, issue_number=issue_number + ) + return get_issue.__wrapped__(params, asset) + + @patch("app.call_github") + def test_calls_correct_endpoint_and_method(self, mock_call): + asset = _pat_asset() + mock_call.return_value = make_response(200, json_body={}) + self._run(issue_number=42, asset=asset) + mock_call.assert_called_once_with("GET", "/repos/owner/repo/issues/42", asset) + + @patch("app.call_github") + def test_404_raises(self, mock_call): + mock_call.return_value = make_response(404) + with pytest.raises(ActionFailure): + self._run() + + @patch("app.call_github") + def test_issue_number_cast_to_int(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run(issue_number=5.0) + args = mock_call.call_args + assert "/issues/5" in args[0][1] + + +# --------------------------------------------------------------------------- +# create_issue +# --------------------------------------------------------------------------- + + +class TestCreateIssue(unittest.TestCase): + def _run( + self, + owner="owner", + repo="repo", + title="T", + body=None, + assignees=None, + labels=None, + asset=None, + ): + asset = asset or _pat_asset() + from app import CreateIssueParams, create_issue + + params = CreateIssueParams( + repo_owner=owner, + repo_name=repo, + issue_title=title, + issue_body=body, + assignees=assignees, + labels=labels, + ) + return create_issue.__wrapped__(params, asset) + + @patch("app.call_github") + def test_uses_post_method(self, mock_call): + mock_call.return_value = make_response(201, json_body={}) + self._run() + assert mock_call.call_args[0][0] == "POST" + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + mock_call.return_value = make_response(201, json_body={}) + self._run() + assert mock_call.call_args[0][1] == "/repos/owner/repo/issues" + + @patch("app.call_github") + def test_payload_contains_title_and_empty_lists(self, mock_call): + mock_call.return_value = make_response(201, json_body={}) + self._run(title="My Issue") + _, kwargs = mock_call.call_args + assert kwargs["json"]["title"] == "My Issue" + assert kwargs["json"]["assignees"] == [] + assert kwargs["json"]["labels"] == [] + + @patch("app.call_github") + def test_assignees_and_labels_parsed_from_csv(self, mock_call): + mock_call.return_value = make_response(201, json_body={}) + self._run(assignees="alice, bob", labels="bug, enhancement") + _, kwargs = mock_call.call_args + assert kwargs["json"]["assignees"] == ["alice", "bob"] + assert kwargs["json"]["labels"] == ["bug", "enhancement"] + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(422) + with pytest.raises(ActionFailure): + self._run() + + @patch("app.call_github") + def test_called_exactly_once(self, mock_call): + mock_call.return_value = make_response(201, json_body={}) + self._run() + mock_call.assert_called_once() + + +# --------------------------------------------------------------------------- +# update_issue +# --------------------------------------------------------------------------- + + +class TestUpdateIssue(unittest.TestCase): + def _run( + self, + owner="owner", + repo="repo", + issue_number=1, + state=None, + title=None, + body=None, + assignees=None, + labels=None, + to_empty=None, + asset=None, + ): + asset = asset or _pat_asset() + from app import UpdateIssueParams, update_issue + + params = UpdateIssueParams( + repo_owner=owner, + repo_name=repo, + issue_number=issue_number, + state=state, + issue_title=title, + issue_body=body, + assignees=assignees, + labels=labels, + to_empty=to_empty, + ) + return update_issue.__wrapped__(params, asset) + + @patch("app.call_github") + def test_uses_patch_method(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run() + assert mock_call.call_args[0][0] == "PATCH" + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run(issue_number=3) + assert mock_call.call_args[0][1] == "/repos/owner/repo/issues/3" + + @patch("app.call_github") + def test_state_included_in_payload(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run(state="closed") + _, kwargs = mock_call.call_args + assert kwargs["json"]["state"] == "closed" + + @patch("app.call_github") + def test_empty_params_excluded_when_to_empty_false(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run(to_empty=False) + _, kwargs = mock_call.call_args + assert "body" not in kwargs["json"] + assert "assignees" not in kwargs["json"] + assert "labels" not in kwargs["json"] + + @patch("app.call_github") + def test_empty_params_included_when_to_empty_true(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run(to_empty=True) + _, kwargs = mock_call.call_args + assert "body" in kwargs["json"] + assert "assignees" in kwargs["json"] + assert "labels" in kwargs["json"] + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(404) + with pytest.raises(ActionFailure): + self._run() + + @patch("app.call_github") + def test_title_always_included_when_provided(self, mock_call): + mock_call.return_value = make_response(200, json_body={}) + self._run(title="New Title") + _, kwargs = mock_call.call_args + assert kwargs["json"]["title"] == "New Title" + + +# --------------------------------------------------------------------------- +# create_comment +# --------------------------------------------------------------------------- + + +class TestCreateComment(unittest.TestCase): + def _run( + self, + owner="owner", + repo="repo", + issue_number=1, + comment_body="hello", + asset=None, + ): + asset = asset or _pat_asset() + from app import CreateCommentParams, create_comment + + params = CreateCommentParams( + repo_owner=owner, + repo_name=repo, + issue_number=issue_number, + comment_body=comment_body, + ) + return create_comment.__wrapped__(params, asset) + + @patch("app.call_github") + def test_uses_post_method(self, mock_call): + mock_call.return_value = make_response(201, json_body=_MINIMAL_COMMENT) + self._run() + assert mock_call.call_args[0][0] == "POST" + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + mock_call.return_value = make_response(201, json_body=_MINIMAL_COMMENT) + self._run(issue_number=9) + assert mock_call.call_args[0][1] == "/repos/owner/repo/issues/9/comments" + + @patch("app.call_github") + def test_payload_contains_body(self, mock_call): + mock_call.return_value = make_response(201, json_body=_MINIMAL_COMMENT) + self._run(comment_body="LGTM") + _, kwargs = mock_call.call_args + assert kwargs["json"] == {"body": "LGTM"} + + @patch("app.call_github") + def test_called_exactly_once(self, mock_call): + mock_call.return_value = make_response(201, json_body=_MINIMAL_COMMENT) + self._run() + mock_call.assert_called_once() + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(403) + with pytest.raises(ActionFailure): + self._run() + + +# --------------------------------------------------------------------------- +# add_labels +# --------------------------------------------------------------------------- + + +class TestAddLabels(unittest.TestCase): + def _run( + self, owner="owner", repo="repo", issue_number=1, labels="bug", asset=None + ): + asset = asset or _pat_asset() + from app import AddLabelsParams, add_labels + + params = AddLabelsParams( + repo_owner=owner, + repo_name=repo, + issue_number=issue_number, + labels=labels, + ) + return add_labels.__wrapped__(params, asset) + + @patch("app.call_github") + def test_uses_post_method(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_LABEL]) + self._run() + assert mock_call.call_args[0][0] == "POST" + + @patch("app.call_github") + def test_calls_correct_endpoint(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_LABEL]) + self._run(issue_number=5) + assert mock_call.call_args[0][1] == "/repos/owner/repo/issues/5/labels" + + @patch("app.call_github") + def test_csv_labels_parsed_correctly(self, mock_call): + mock_call.return_value = make_response( + 200, json_body=[_MINIMAL_LABEL, _MINIMAL_LABEL] + ) + self._run(labels="bug, enhancement, help wanted") + _, kwargs = mock_call.call_args + assert kwargs["json"]["labels"] == ["bug", "enhancement", "help wanted"] + + @patch("app.call_github") + def test_returns_list_of_label_outputs(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_LABEL]) + result = self._run() + assert len(result) == 1 + assert result[0].name == "bug" + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + mock_call.return_value = make_response(404) + with pytest.raises(ActionFailure): + self._run() + + +# --------------------------------------------------------------------------- +# add_member +# --------------------------------------------------------------------------- + + +class TestAddMember(unittest.TestCase): + def _run(self, team="99", user="octocat", role=None, org=None, asset=None): + asset = asset or _pat_asset() + from app import AddMemberParams, add_member + + params = AddMemberParams(team=team, user=user, role=role, organization_name=org) + return add_member.__wrapped__(params, asset) + + @patch("app.call_github") + def test_numeric_team_id_used_directly_no_resolve(self, mock_call): + # First call: GET members (empty → user not found), second: PUT add member + mock_call.side_effect = [ + make_response(200, json_body=[]), # GET members + make_response(200, json_body=_MINIMAL_ADD_MEMBER_RESP), # PUT + ] + self._run(team="99") + first_call = mock_call.call_args_list[0] + assert first_call[0][0] == "GET" + assert "/teams/99/members" in first_call[0][1] + + @patch("app.call_github") + def test_put_to_add_member_endpoint(self, mock_call): + mock_call.side_effect = [ + make_response(200, json_body=[]), + make_response(200, json_body=_MINIMAL_ADD_MEMBER_RESP), + ] + self._run(team="42", user="octocat") + put_call = mock_call.call_args_list[-1] + assert put_call[0][0] == "PUT" + assert "/teams/42/memberships/octocat" in put_call[0][1] + + @patch("app.call_github") + def test_role_sent_in_payload(self, mock_call): + mock_call.side_effect = [ + make_response(200, json_body=[]), + make_response(200, json_body=_MINIMAL_ADD_MEMBER_RESP), + ] + self._run(team="42", role="Maintainer") + put_call = mock_call.call_args_list[-1] + assert put_call[1]["json"]["role"] == "maintainer" + + @patch("app.call_github") + def test_member_already_exists_returns_without_put(self, mock_call): + existing = {**_MINIMAL_USER, "role": "member", "state": "active"} + mock_call.return_value = make_response(200, json_body=[existing]) + self._run(team="42", user="octocat") + # Should not have issued a PUT + for c in mock_call.call_args_list: + assert c[0][0] != "PUT" + + @patch("app.call_github") + def test_team_name_requires_org(self, mock_call): + with pytest.raises(ActionFailure): + self._run(team="myteam", org=None) + + @patch("app.call_github") + def test_team_name_resolved_via_org(self, mock_call): + teams_page = [_MINIMAL_TEAM] # id=42, name="myteam" + members_page = [] + put_resp = _MINIMAL_ADD_MEMBER_RESP + mock_call.side_effect = [ + make_response(200, json_body=teams_page), # paginate teams + make_response(200, json_body=members_page), # paginate members + make_response(200, json_body=put_resp), # PUT + ] + result = self._run(team="myteam", org="myorg") + # Verify team resolution called teams endpoint + first = mock_call.call_args_list[0] + assert "/orgs/myorg/teams" in first[0][1] + assert result.role == "member" + + @patch("app.call_github") + def test_invalid_team_name_raises(self, mock_call): + mock_call.return_value = make_response(200, json_body=[_MINIMAL_TEAM]) + with pytest.raises(ActionFailure): + self._run(team="doesnotexist", org="myorg") + + +# --------------------------------------------------------------------------- +# remove_member +# --------------------------------------------------------------------------- + + +class TestRemoveMember(unittest.TestCase): + def _run(self, team="42", user="octocat", org=None, asset=None): + asset = asset or _pat_asset() + from app import RemoveMemberParams, remove_member + + params = RemoveMemberParams(team=team, user=user, organization_name=org) + return remove_member.__wrapped__(params, asset) + + @patch("app.call_github") + def test_deletes_direct_member(self, mock_call): + member = {**_MINIMAL_USER, "login": "octocat"} + mock_call.side_effect = [ + make_response(200, json_body=[member]), # GET members + make_response(204, json_body={}), # DELETE + ] + self._run() + delete_call = mock_call.call_args_list[-1] + assert delete_call[0][0] == "DELETE" + assert "/teams/42/memberships/octocat" in delete_call[0][1] + + @patch("app.call_github") + def test_deletes_pending_invitation(self, mock_call): + invite = {**_MINIMAL_USER, "login": "octocat"} + mock_call.side_effect = [ + make_response(200, json_body=[]), # GET members (empty) + make_response(200, json_body=[invite]), # GET invitations + make_response(204, json_body={}), # DELETE + ] + self._run() + delete_call = mock_call.call_args_list[-1] + assert delete_call[0][0] == "DELETE" + + @patch("app.call_github") + def test_user_not_found_returns_without_delete(self, mock_call): + mock_call.side_effect = [ + make_response(200, json_body=[]), # members empty + make_response(200, json_body=[]), # invitations empty + ] + self._run() + for c in mock_call.call_args_list: + assert c[0][0] != "DELETE" + + +# --------------------------------------------------------------------------- +# remove_collaborator +# --------------------------------------------------------------------------- + + +class TestRemoveCollaborator(unittest.TestCase): + def _run(self, owner="owner", repo="repo", user="octocat", asset=None): + asset = asset or _pat_asset() + from app import RemoveCollaboratorParams, remove_collaborator + + params = RemoveCollaboratorParams(repo_owner=owner, repo_name=repo, user=user) + return remove_collaborator.__wrapped__(params, asset) + + @patch("app.call_github") + def test_removes_direct_collaborator(self, mock_call): + collab = {**_MINIMAL_COLLABORATOR, "login": "octocat"} + mock_call.side_effect = [ + make_response(200, json_body=[collab]), # list collaborators + make_response(204, json_body={}), # DELETE + ] + result = self._run() + delete_call = mock_call.call_args_list[-1] + assert delete_call[0][0] == "DELETE" + assert "/repos/owner/repo/collaborators/octocat" in delete_call[0][1] + assert not result.invite_deleted + + @patch("app.call_github") + def test_deletes_pending_invitation(self, mock_call): + invite = {"id": 7, "invitee": {"login": "octocat"}} + mock_call.side_effect = [ + make_response(200, json_body=[]), # no direct collaborators + make_response(200, json_body=[invite]), # pending invitations + make_response(204, json_body={}), # DELETE invitation + ] + result = self._run() + assert result.invite_deleted + delete_call = mock_call.call_args_list[-1] + assert "/repos/owner/repo/invitations/7" in delete_call[0][1] + + @patch("app.call_github") + def test_user_not_found_returns_invite_deleted_false(self, mock_call): + mock_call.side_effect = [ + make_response(200, json_body=[]), # no collaborators + make_response(200, json_body=[]), # no invitations + ] + result = self._run() + assert not result.invite_deleted + + +# --------------------------------------------------------------------------- +# add_collaborator +# --------------------------------------------------------------------------- + + +class TestAddCollaborator(unittest.TestCase): + def _run( + self, + owner="owner", + repo="repo", + user="octocat", + role="Push", + override=None, + asset=None, + ): + asset = asset or _pat_asset() + from app import AddCollaboratorParams, add_collaborator + + params = AddCollaboratorParams( + repo_owner=owner, repo_name=repo, user=user, role=role, override=override + ) + return add_collaborator.__wrapped__(params, asset) + + @patch("app.call_github") + def test_adds_new_collaborator_with_put(self, mock_call): + # No direct collaborators, no pending invitations → PUT + mock_call.side_effect = [ + make_response(200, json_body=[]), # collaborators + make_response(200, json_body=[]), # invitations + make_response( + 204, json_body={}, content=False + ), # PUT (204 = directly added) + ] + result = self._run() + put_call = mock_call.call_args_list[-1] + assert put_call[0][0] == "PUT" + assert "/repos/owner/repo/collaborators/octocat" in put_call[0][1] + assert result.collaborator_added + + @patch("app.call_github") + def test_invitation_sent_on_201(self, mock_call): + invite_body = { + "id": 1, + "invite_sent": True, + "collaborator_added": False, + "html_url": "https://github.com/owner/repo/invitations", + "created_at": "2024-01-01T00:00:00Z", + "permissions": "write", + } + mock_call.side_effect = [ + make_response(200, json_body=[]), # collaborators + make_response(200, json_body=[]), # invitations + make_response(201, json_body=invite_body), # PUT → 201 invitation + ] + result = self._run() + assert result.invite_sent + + @patch("app.call_github") + def test_same_role_collaborator_returns_no_op(self, mock_call): + collab = { + **_MINIMAL_COLLABORATOR, + "login": "octocat", + "permissions": {"pull": True, "push": False, "admin": False}, + } + mock_call.return_value = make_response(200, json_body=[collab]) + # role=Pull means pull=True, push=False, admin=False → same + result = self._run(role="Pull") + assert not result.invite_sent + assert not result.collaborator_added + + @patch("app.call_github") + def test_different_role_without_override_raises(self, mock_call): + collab = { + **_MINIMAL_COLLABORATOR, + "login": "octocat", + "permissions": {"pull": True, "push": False, "admin": False}, + } + mock_call.return_value = make_response(200, json_body=[collab]) + with pytest.raises(ActionFailure): + self._run(role="Push", override=False) + + @patch("app.call_github") + def test_role_sent_in_put_payload(self, mock_call): + mock_call.side_effect = [ + make_response(200, json_body=[]), + make_response(200, json_body=[]), + make_response(204, json_body={}, content=False), + ] + self._run(role="Push") + put_call = mock_call.call_args_list[-1] + assert put_call[1]["json"]["permission"] == "push" + + +# --------------------------------------------------------------------------- +# _paginate_all (shared helper) +# --------------------------------------------------------------------------- + + +class TestPaginateAll(unittest.TestCase): + @patch("app.call_github") + def test_returns_all_pages(self, mock_call): + from app import _paginate_all + + asset = _pat_asset() + full = [{"id": i} for i in range(100)] + partial = [{"id": 200}] + mock_call.side_effect = [ + make_response(200, json_body=full), + make_response(200, json_body=partial), + ] + result = _paginate_all("/some/endpoint", asset) + assert len(result) == 101 + assert mock_call.call_count == 2 + + @patch("app.call_github") + def test_limit_stops_early(self, mock_call): + from app import _paginate_all + + mock_call.return_value = make_response( + 200, json_body=[{"id": i} for i in range(100)] + ) + result = _paginate_all("/ep", _pat_asset(), limit=5) + assert len(result) == 5 + + @patch("app.call_github") + def test_dict_response_wrapped_in_list(self, mock_call): + from app import _paginate_all + + mock_call.return_value = make_response(200, json_body={"id": 1}) + result = _paginate_all("/ep", _pat_asset()) + assert len(result) == 1 + + @patch("app.call_github") + def test_api_error_raises(self, mock_call): + from app import _paginate_all + + mock_call.return_value = make_response(500) + with pytest.raises(ActionFailure): + _paginate_all("/ep", _pat_asset()) + + +if __name__ == "__main__": + unittest.main() diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..7c951c4 --- /dev/null +++ b/uv.lock @@ -0,0 +1,1191 @@ +version = 1 +revision = 3 +requires-python = ">=3.13, <3.15" +resolution-markers = [ + "python_full_version < '3.14' and platform_machine == 'x86_64' and sys_platform == 'linux'", + "python_full_version < '3.14' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "python_full_version < '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version < '3.14' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'linux'", + "python_full_version >= '3.14' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version >= '3.14' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +supported-markers = [ + "python_full_version < '3.14' and platform_machine == 'x86_64' and sys_platform == 'linux'", + "python_full_version < '3.14' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "python_full_version < '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version < '3.14' and platform_machine == 'arm64' and sys_platform == 'darwin'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'linux'", + "python_full_version >= '3.14' and platform_machine == 'aarch64' and sys_platform == 'linux'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'darwin'", + "python_full_version >= '3.14' and platform_machine == 'arm64' and sys_platform == 'darwin'", +] +required-markers = [ + "python_full_version < '3.14' and platform_machine == 'x86_64' and sys_platform == 'linux'", + "python_full_version >= '3.14' and platform_machine == 'x86_64' and sys_platform == 'linux'", +] + +[[package]] +name = "annotated-doc" +version = "0.0.4" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/ba/046ceea27344560984e26a590f90bc7f4a75b06701f653222458922b558c/annotated_doc-0.0.4.tar.gz", hash = "sha256:fbcda96e87e9c92ad167c2e53839e57503ecfda18804ea28102353485033faa4", size = 7288, upload-time = "2025-11-10T22:07:42.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d3/26bf1008eb3d2daa8ef4cacc7f3bfdc11818d111f7e2d0201bc6e3b49d45/annotated_doc-0.0.4-py3-none-any.whl", hash = "sha256:571ac1dc6991c450b25a9c2d84a3705e2ae7a53467b5d111c24fa8baabbed320", size = 5303, upload-time = "2025-11-10T22:07:40.673Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.13.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/14/2c5dd9f512b66549ae92767a9c7b330ae88e1932ca57876909410251fe13/anyio-4.13.0.tar.gz", hash = "sha256:334b70e641fd2221c1505b3890c69882fe4a2df910cba14d97019b90b24439dc", size = 231622, upload-time = "2026-03-24T12:59:09.671Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/42/e921fccf5015463e32a3cf6ee7f980a6ed0f395ceeaa45060b61d86486c2/anyio-4.13.0-py3-none-any.whl", hash = "sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708", size = 114353, upload-time = "2026-03-24T12:59:08.246Z" }, +] + +[[package]] +name = "authlib" +version = "1.7.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "cryptography", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "joserfc", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/98/7d93f30d029643c0275dbc0bd6d5a6f670661ee6c9a94d93af7ab4887600/authlib-1.7.2.tar.gz", hash = "sha256:2cea25fefcd4e7173bdf1372c0afc265c8034b23a8cd5dcb6a9164b826c64231", size = 176511, upload-time = "2026-05-06T08:10:23.116Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/95/adcb68e20c34162e9135f370d6e31737719c2b6f94bc953fe7ed1f10fe21/authlib-1.7.2-py2.py3-none-any.whl", hash = "sha256:3e1faedc9d87e7d56a164eca3ccb6ace0d61b94abe83e92242f8dc8bba9b4a9f", size = 259548, upload-time = "2026-05-06T08:10:21.436Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.13.5" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "soupsieve", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/85/2e/3e5079847e653b1f6dc647aa24549d68c6addb4c595cc0d902d1b19308ad/beautifulsoup4-4.13.5.tar.gz", hash = "sha256:5e70131382930e7c3de33450a2f54a63d5e4b19386eab43a5b34d594268f3695", size = 622954, upload-time = "2025-08-24T14:06:13.168Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/eb/f4151e0c7377a6e08a38108609ba5cede57986802757848688aeedd1b9e8/beautifulsoup4-4.13.5-py3-none-any.whl", hash = "sha256:642085eaa22233aceadff9c69651bc51e8bf3f874fb6d7104ece2beb24b47c4a", size = 105113, upload-time = "2025-08-24T14:06:14.884Z" }, +] + +[[package]] +name = "bleach" +version = "6.4.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "webencodings", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/3c/e12ac860709702bd5ebeb9b56a4fe334f1001246ee1b8f2b7ee28912df7d/bleach-6.4.0.tar.gz", hash = "sha256:4202482733d85cedd04e59fcb2f89f4e4c7c385a78d3c3c23c30446843a37452", size = 204857, upload-time = "2026-06-05T13:01:13.734Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/9d/40b6267367182187139a4000b82a3b287d84d745bccd808e75d916920e9d/bleach-6.4.0-py3-none-any.whl", hash = "sha256:4b6b6a54fff2e69a3dde9d21cc6301220bee3c3cb792187d11403fd795031081", size = 165109, upload-time = "2026-06-05T13:01:12.504Z" }, +] + +[[package]] +name = "build" +version = "1.5.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pyproject-hooks", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/78/e0/df5e171f685f82f37b12e1f208064e24244911079d7b767447d1af7e0d70/build-1.5.0.tar.gz", hash = "sha256:302c22c3ba2a0fd5f3911918651341ebb3896176cbdec15bd421f80b1afc7647", size = 89796, upload-time = "2026-04-30T03:18:25.17Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/fe/6bea5c9162869c5beba5d9c8abbed835ec85bf1ec1fba05a3822325c45f3/build-1.5.0-py3-none-any.whl", hash = "sha256:13f3eecb844759ab66efec90ca17639bbf14dc06cb2fdf37a9010322d9c50a6f", size = 26018, upload-time = "2026-04-30T03:18:23.644Z" }, +] + +[[package]] +name = "certifi" +version = "2026.5.20" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/ce/ee2ecad540810a79593028e88299baeae54d346cc7a0d94b6199988b89b1/certifi-2026.5.20.tar.gz", hash = "sha256:69dea482ab64caa7b9f6aba1c6bf48bb6a5448d1c0f1b17ab42ad8c763a5344d", size = 135422, upload-time = "2026-05-20T11:46:50.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/59/8c/57e832b7af6d7c5abe66eb3fbe3a3a32f4d11ea23a1aa7131371035be991/certifi-2026.5.20-py3-none-any.whl", hash = "sha256:3c52e209ba0a4ad7aebe60436a4ab349c39e1e602e8c134221e546902ad25897", size = 134134, upload-time = "2026-05-20T11:46:48.578Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "pycparser", marker = "(implementation_name != 'PyPy' and platform_machine == 'arm64' and sys_platform == 'darwin') or (implementation_name != 'PyPy' and platform_machine == 'x86_64' and sys_platform == 'darwin') or (implementation_name != 'PyPy' and platform_machine == 'aarch64' and sys_platform == 'linux') or (implementation_name != 'PyPy' and platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, +] + +[[package]] +name = "cfgv" +version = "3.5.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4e/b5/721b8799b04bf9afe054a3899c6cf4e880fcf8563cc71c15610242490a0c/cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132", size = 7334, upload-time = "2025-11-19T20:55:51.612Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/3c/33bac158f8ab7f89b2e59426d5fe2e4f63f7ed25df84c036890172b412b5/cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0", size = 7445, upload-time = "2025-11-19T20:55:50.744Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.7" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/a1/67fe25fac3c7642725500a3f6cfe5821ad557c3abb11c9d20d12c7008d3e/charset_normalizer-3.4.7.tar.gz", hash = "sha256:ae89db9e5f98a11a4bf50407d4363e7b09b31e55bc117b4f7d80aab97ba009e5", size = 144271, upload-time = "2026-04-02T09:28:39.342Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/3b/66777e39d3ae1ddc77ee606be4ec6d8cbd4c801f65e5a1b6f2b11b8346dd/charset_normalizer-3.4.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f496c9c3cc02230093d8330875c4c3cdfc3b73612a5fd921c65d39cbcef08063", size = 309627, upload-time = "2026-04-02T09:26:45.198Z" }, + { url = "https://files.pythonhosted.org/packages/2e/4e/b7f84e617b4854ade48a1b7915c8ccfadeba444d2a18c291f696e37f0d3b/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ea948db76d31190bf08bd371623927ee1339d5f2a0b4b1b4a4439a65298703c", size = 207008, upload-time = "2026-04-02T09:26:46.824Z" }, + { url = "https://files.pythonhosted.org/packages/fa/07/330e3a0dda4c404d6da83b327270906e9654a24f6c546dc886a0eb0ffb23/charset_normalizer-3.4.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e044c39e41b92c845bc815e5ae4230804e8e7bc29e399b0437d64222d92809dd", size = 215595, upload-time = "2026-04-02T09:26:50.915Z" }, + { url = "https://files.pythonhosted.org/packages/6f/a5/a581c13798546a7fd557c82614a5c65a13df2157e9ad6373166d2a3e645d/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7804338df6fcc08105c7745f1502ba68d900f45fd770d5bdd5288ddccb8a42d8", size = 210036, upload-time = "2026-04-02T09:26:54.975Z" }, + { url = "https://files.pythonhosted.org/packages/6a/9f/130394f9bbe06f4f63e22641d32fc9b202b7e251c9aef4db044324dac493/charset_normalizer-3.4.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:64f02c6841d7d83f832cd97ccf8eb8a906d06eb95d5276069175c696b024b60a", size = 217723, upload-time = "2026-04-02T09:27:02.021Z" }, + { url = "https://files.pythonhosted.org/packages/97/c8/c67cb8c70e19ef1960b97b22ed2a1567711de46c4ddf19799923adc836c2/charset_normalizer-3.4.7-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:c36c333c39be2dbca264d7803333c896ab8fa7d4d6f0ab7edb7dfd7aea6e98c0", size = 309234, upload-time = "2026-04-02T09:27:07.194Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/c091fdee33f20de70d6c8b522743b6f831a2f1cd3ff86de4c6a827c48a76/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1c2aed2e5e41f24ea8ef1590b8e848a79b56f3a5564a65ceec43c9d692dc7d8a", size = 208042, upload-time = "2026-04-02T09:27:08.749Z" }, + { url = "https://files.pythonhosted.org/packages/47/5c/032c2d5a07fe4d4855fea851209cca2b6f03ebeb6d4e3afdb3358386a684/charset_normalizer-3.4.7-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bd6c2a1c7573c64738d716488d2cdd3c00e340e4835707d8fdb8dc1a66ef164e", size = 215882, upload-time = "2026-04-02T09:27:12.446Z" }, + { url = "https://files.pythonhosted.org/packages/44/86/58e6f13ce26cc3b8f4a36b94a0f22ae2f00a72534520f4ae6857c4b81f89/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e8ac484bf18ce6975760921bb6148041faa8fef0547200386ea0b52b5d27bf7b", size = 211276, upload-time = "2026-04-02T09:27:16.834Z" }, + { url = "https://files.pythonhosted.org/packages/30/45/99d18aa925bd1740098ccd3060e238e21115fffbfdcb8f3ece837d0ace6c/charset_normalizer-3.4.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7579e913a5339fb8fa133f6bbcfd8e6749696206cf05acdbdca71a1b436d8e72", size = 217869, upload-time = "2026-04-02T09:27:23.486Z" }, + { url = "https://files.pythonhosted.org/packages/94/09/7e8a7f73d24dba1f0035fbbf014d2c36828fc1bf9c88f84093e57d315935/charset_normalizer-3.4.7-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:effc3f449787117233702311a1b7d8f59cba9ced946ba727bdc329ec69028e24", size = 330133, upload-time = "2026-04-02T09:27:29.474Z" }, + { url = "https://files.pythonhosted.org/packages/8d/da/96975ddb11f8e977f706f45cddd8540fd8242f71ecdb5d18a80723dcf62c/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fbccdc05410c9ee21bbf16a35f4c1d16123dcdeb8a1d38f33654fa21d0234f79", size = 216257, upload-time = "2026-04-02T09:27:30.793Z" }, + { url = "https://files.pythonhosted.org/packages/be/c1/06c6c49d5a5450f76899992f1ee40b41d076aee9279b49cf9974d2f313d5/charset_normalizer-3.4.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6c114670c45346afedc0d947faf3c7f701051d2518b943679c8ff88befe14f8e", size = 223251, upload-time = "2026-04-02T09:27:35.369Z" }, + { url = "https://files.pythonhosted.org/packages/7e/80/8a7b8104a3e203074dc9aa2c613d4b726c0e136bad1cc734594b02867972/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8d828b6667a32a728a1ad1d93957cdf37489c57b97ae6c4de2860fa749b8fc1e", size = 218979, upload-time = "2026-04-02T09:27:39.37Z" }, + { url = "https://files.pythonhosted.org/packages/76/22/ef7bd0fe480a0ae9b656189ec00744b60933f68b4f42a7bb06589f6f576a/charset_normalizer-3.4.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ce3412fbe1e31eb81ea42f4169ed94861c56e643189e1e75f0041f3fe7020abe", size = 225194, upload-time = "2026-04-02T09:27:46.706Z" }, + { url = "https://files.pythonhosted.org/packages/db/8f/61959034484a4a7c527811f4721e75d02d653a35afb0b6054474d8185d4c/charset_normalizer-3.4.7-py3-none-any.whl", hash = "sha256:3dce51d0f5e7951f8bb4900c257dad282f49190fdbebecd4ba99bcc41fef404d", size = 61958, upload-time = "2026-04-02T09:28:37.794Z" }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "colorclass" +version = "2.2.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/1a/31ff00a33569a3b59d65bbdc445c73e12f92ad28195b7ace299f68b9af70/colorclass-2.2.2.tar.gz", hash = "sha256:6d4fe287766166a98ca7bc6f6312daf04a0481b1eda43e7173484051c0ab4366", size = 16709, upload-time = "2021-12-09T00:41:35.661Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/b6/daf3e2976932da4ed3579cff7a30a53d22ea9323ee4f0d8e43be60454897/colorclass-2.2.2-py2.py3-none-any.whl", hash = "sha256:6f10c273a0ef7a1150b1120b6095cbdd68e5cf36dfd5d0fc957a2500bbf99a55", size = 18995, upload-time = "2021-12-09T00:41:34.653Z" }, +] + +[[package]] +name = "compressed-rtf" +version = "1.0.7" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/0c/929a4e8ef9d7143f54d77dadb5f370cc7b98534b1bd6e1124d0abe8efb24/compressed_rtf-1.0.7.tar.gz", hash = "sha256:7c30859334839f3cdc7d10796af5b434bb326b9df7cb5a65e95a8eacb2951b0e", size = 8152, upload-time = "2025-03-24T22:39:32.062Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/1d/62f5bf92e12335eb63517f42671ed78512d48bbc69e02a942dd7b90f03f0/compressed_rtf-1.0.7-py3-none-any.whl", hash = "sha256:b7904921d78c67a0a4b7fff9fb361a00ae2b447b6edca010ce321cd98fa0fcc0", size = 7968, upload-time = "2025-03-24T23:03:57.433Z" }, +] + +[[package]] +name = "coverage" +version = "7.14.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/fd/0ab2772530e946e1be1abd0bc09e647ec9b02e88f0867857601fefca8953/coverage-7.14.1.tar.gz", hash = "sha256:30c08f7d90415aa98b3c990385dea2939b0da55f38515e5b369b83655f8523be", size = 920132, upload-time = "2026-05-26T20:41:36.783Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/9e/5f6d56327c62b185225d145191c607e07515294a0aa6338e58805cd4a5ac/coverage-7.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:be9f2c802dcfce3f71298303aa5dad0dce440a76c52f2f60dacd8656dab78793", size = 220044, upload-time = "2026-05-26T20:39:29.902Z" }, + { url = "https://files.pythonhosted.org/packages/75/92/e82aca356744cbbc0f77a0b623e38918c1872361963413a3bab5d0340393/coverage-7.14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6223a72fd0e4c7156353ec0f08a5f93623e1d3034d0e2683b9bb8ea674131b1d", size = 220412, upload-time = "2026-05-26T20:39:31.561Z" }, + { url = "https://files.pythonhosted.org/packages/51/8c/23faf6a2343a0d17f960a4bd56c43bc7eb4cf312f774dd6ceebd82c7d8fc/coverage-7.14.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9eeb3fcbc13ba40dfbdb22d01d196a28e9cef9ed4c29b60061a1e0e823a9929d", size = 254008, upload-time = "2026-05-26T20:39:35.009Z" }, + { url = "https://files.pythonhosted.org/packages/42/06/36f4aa9ca8a815e6036156e80706a67828bb97bd826948244f6996dda957/coverage-7.14.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f0cfc27c539f07cf5c0a4cfe211d0b6cae039f8f40526dbaa71944e64b50a7b", size = 255241, upload-time = "2026-05-26T20:39:36.71Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5a/ca2398a568e16fed7bb713e84ba3603a7164fb65779abe645c565ec890d5/coverage-7.14.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:76a085d7005236a767e3426148b2c407e53ad61695c562f8a81da2d373324901", size = 253373, upload-time = "2026-05-26T20:39:42.145Z" }, + { url = "https://files.pythonhosted.org/packages/e0/aa/58681c383aa33a9d2ed40a02d7a22fbf780d1fa4d575396365777828198c/coverage-7.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:62fd185ef9df3c33d1c8178c5af105f762afbad96038de9a4ae100aa6297ca33", size = 252934, upload-time = "2026-05-26T20:39:49.872Z" }, + { url = "https://files.pythonhosted.org/packages/4d/9e/fcc77914050df73f7662fa1f00902774c79c075a8388ab334074574bf77e/coverage-7.14.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:de286598cc65d2b489411174b1faec2f5a7775fb3201fd925db2a76b4030f37d", size = 220733, upload-time = "2026-05-26T20:39:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/f7/67/2963cbdaf5cbadec44efa3a1e39eaa1f02df4079585f05387607a221e126/coverage-7.14.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:042c46ded7c288aeb07cf14a28b6c1e10b78fcba40171c3fa1e939377eeef0b5", size = 221086, upload-time = "2026-05-26T20:39:59.019Z" }, + { url = "https://files.pythonhosted.org/packages/7c/28/7a64d73598263e0c5abd5084211a8474488d31b3c552ff531c719dfcff62/coverage-7.14.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d13e6725992e2d2fd7d81d4f5241952d13740121dfd501da09201be39b2c003a", size = 264458, upload-time = "2026-05-26T20:40:02.506Z" }, + { url = "https://files.pythonhosted.org/packages/fa/d8/4969179db9f7eb4df218e69540adf829d1c835f59452513d065d15446802/coverage-7.14.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f747dc8edcfe740130f28f32f3995e955494285717e86ee25af51db2219df08a", size = 266884, upload-time = "2026-05-26T20:40:04.421Z" }, + { url = "https://files.pythonhosted.org/packages/ec/49/eced49af4cb996d5d8b7e94e736175c513e4facd3398507b89892b4326d8/coverage-7.14.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:ea8cd6ca0ee9f616aaef3afc6882e32c2cbf18b00d96313ffd76af650574034d", size = 264443, upload-time = "2026-05-26T20:40:10.137Z" }, + { url = "https://files.pythonhosted.org/packages/87/d1/ec13ccddeb48ec963bdfa72a11224bac2584bd045ba13beca82f8113e9c7/coverage-7.14.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:370c5afae3fa0658e11694a32b24c2778f6bc2d17718121f94ee185e69f26b54", size = 263157, upload-time = "2026-05-26T20:40:18.382Z" }, + { url = "https://files.pythonhosted.org/packages/d6/34/fc2f101b151af3799a101f0550b0454aa008afdc0add677394ec4aa8ea10/coverage-7.14.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d5ed429d0b8edaac649e889b4ffcedb6c80b06629a3f93050e3dddfb99235bee", size = 220091, upload-time = "2026-05-26T20:40:27.249Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a7/1ebae2ab5b961b5c79bb09fe7b3ac99edb190d8be4a8c510b2cf66f46468/coverage-7.14.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8011224a62280e50dab346960c03cf47aca1a1e09e608c0fb33fd6e0cc8e9500", size = 220421, upload-time = "2026-05-26T20:40:30.084Z" }, + { url = "https://files.pythonhosted.org/packages/26/2b/78048cbe3b999f6cbf9cc0d90abba6a88a3e0863a8c1c6cbc762f3f8802f/coverage-7.14.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:06144cd511cf2624873a035c5069cf297144f6e77a73ee3d7a55b605ec5efb42", size = 253973, upload-time = "2026-05-26T20:40:34.473Z" }, + { url = "https://files.pythonhosted.org/packages/8e/21/c2e33b29d1cfde484a19d437afc343c6cd30b08d78cbbf9f5aff14e57b2b/coverage-7.14.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a311d8e1da24be5c1ccf85cbfb06315dbaa1703d5a1eab3f6432c72b837917c8", size = 255318, upload-time = "2026-05-26T20:40:38.154Z" }, + { url = "https://files.pythonhosted.org/packages/c9/b8/9a5820de4b8ac2b71d85e3b5fb49108d7469c665f0e2ad0dd7569023e305/coverage-7.14.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fd86572566fb40189a8260446158235159bc7a82dfbc87a3b39cf4fb57fcec1c", size = 253329, upload-time = "2026-05-26T20:40:45.208Z" }, + { url = "https://files.pythonhosted.org/packages/7d/0c/2629997469a00cd069d588a41c9dc887610f2775ae89d250c4791e65272a/coverage-7.14.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:03a6f93c1ec3b7f2e77b5dbcc5573a2c21f12529a5c6bbe0f16f72303cc2fa4d", size = 252764, upload-time = "2026-05-26T20:40:54.267Z" }, + { url = "https://files.pythonhosted.org/packages/0a/1d/ac0a9df5fe31c1e8bdd658074905fc12844a05c1a7e3fdb8417e97c31e23/coverage-7.14.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1101a5ebb083aecb625ebb6209d4105b58f647b093cb2dc8122d7b33f743cfe1", size = 220822, upload-time = "2026-05-26T20:41:02.281Z" }, + { url = "https://files.pythonhosted.org/packages/32/cf/f964fd9aff20323f9f1a726c97135f8a76bcd87b92dad141a456a43f3c64/coverage-7.14.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:851b9e1e4e8a4608e77c79714b2e77c0970d2ed7202a05e92ae407817481887b", size = 221084, upload-time = "2026-05-26T20:41:04.593Z" }, + { url = "https://files.pythonhosted.org/packages/64/62/75809bded87015cc4935524218a2a8ed8dd1a8498bfed30a2f4f7a4b4d34/coverage-7.14.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0177614a0370f227888b4e436a7c55686d6a9f90eb1ade2b624ba685a1686e86", size = 264578, upload-time = "2026-05-26T20:41:08.556Z" }, + { url = "https://files.pythonhosted.org/packages/f3/42/d33392dc14633525012d2d504fa1a33b05538bf535f5c1d64675e5754b78/coverage-7.14.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2d69af5dea2de76fc485a83032a630523f985198b7e25be901ec60181587b01e", size = 266981, upload-time = "2026-05-26T20:41:10.824Z" }, + { url = "https://files.pythonhosted.org/packages/20/4c/c311210c5472cf5401d8422b0d7812cdd520f24417673afabda6c323faca/coverage-7.14.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:51bd64741cc6fa065abd300ede1afe5a5291ece9c31da8b24884deda48bcc3f8", size = 264447, upload-time = "2026-05-26T20:41:17.369Z" }, + { url = "https://files.pythonhosted.org/packages/ca/92/1ea0f03929da7cf87206b1fa24f4c8e9c158be0455481af29ec0a1f3503f/coverage-7.14.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:01b7733daad0237daa01ef80fe2dfceffc911e6a17fa7b55d14aa8214eaaaecd", size = 263214, upload-time = "2026-05-26T20:41:25.419Z" }, + { url = "https://files.pythonhosted.org/packages/8a/3c/1a983b9a745d7f83d53f057bcc5bf79ba6a2bbc08266b3f0c7d6fe630c9b/coverage-7.14.1-py3-none-any.whl", hash = "sha256:a252f21c27e38347e60111a3266b03827422a7d5525951aceee313aa68bab1d2", size = 211815, upload-time = "2026-05-26T20:41:34.078Z" }, +] + +[[package]] +name = "cryptography" +version = "48.0.1" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "cffi", marker = "(platform_machine == 'arm64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and sys_platform == 'linux') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/12/45/870e7f4bef50e5f53b9f51d4428aee5290eedf58ba443f16b1ebb7ab8e66/cryptography-48.0.1.tar.gz", hash = "sha256:266f4ee051abb2f725b74ef8072b521ce1feacf685a3364fa6a6b45548db791a", size = 832989, upload-time = "2026-06-09T22:32:31.8Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1b/bc/ee4137cbbe105652c0ee4252792b78fc8e7afa4b8e61d9d5dc05a7f45731/cryptography-48.0.1-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:3e4a1a3232eef2e6c732827d5722db29a0cc8b27af2a4d865b094cf954be9ca1", size = 8008324, upload-time = "2026-06-09T22:31:00.702Z" }, + { url = "https://files.pythonhosted.org/packages/d5/85/6379d42181bfc713094f081360fc5784d6c816b599d45e7f082502d173ce/cryptography-48.0.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:32143b24adb918f078134e1e230f1eb8cc04886b92c28b5f0041aaf3e5699225", size = 4696243, upload-time = "2026-06-09T22:32:33.446Z" }, + { url = "https://files.pythonhosted.org/packages/9c/87/c85d147b53323c7eb4d850920c8901377323c2a0ff8d79c262d4fee89aa2/cryptography-48.0.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f0d27a5696721ef7a672b8c810f6aded391058e0b9486e63e6d93baf765da691", size = 4713235, upload-time = "2026-06-09T22:31:40.141Z" }, + { url = "https://files.pythonhosted.org/packages/79/58/67cbf8cf1ee7c54b439ca07bbecf8362c07afc11a3724fea70f745784add/cryptography-48.0.1-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:eb86ce1af36fe65041b6db9a8bb064ee621a7e5fded0f80d475ec243477cd242", size = 4702323, upload-time = "2026-06-09T22:31:42.191Z" }, + { url = "https://files.pythonhosted.org/packages/d2/bb/cc4b78784f97efc8c5874c2a9743708d172be6663024b34a0467885ae0c8/cryptography-48.0.1-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:3752f2dbc8f07a30aad2932c986cea495b03bb554887828225da104f732852b6", size = 4746137, upload-time = "2026-06-09T22:31:31.01Z" }, + { url = "https://files.pythonhosted.org/packages/9a/2e/772d7adbfa931537bc401640b7cac9976bff689bda187833e5d63b428e49/cryptography-48.0.1-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:66fd0771e7b9c6dcd44cf1120690d2338d16d72795cf40cae2786a39eba65429", size = 4701805, upload-time = "2026-06-09T22:31:38.284Z" }, + { url = "https://files.pythonhosted.org/packages/9f/13/8b765e2e12b07c74941caadb9d1c8fdc006c4dfbf2b8f2d610519758954d/cryptography-48.0.1-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:0ee6ea481db1ab889cba043ec1eda17bb9c1ea79db6722f779c3667f9f70322f", size = 4745488, upload-time = "2026-06-09T22:32:30.07Z" }, + { url = "https://files.pythonhosted.org/packages/2e/aa/48972bce55049b32a94f4907eda4d75fa385aad8a39506cc2fc72196ecf0/cryptography-48.0.1-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f2ceef93cb096aa3c4cc4b5c94ca6131f9196d28c64d6111533402a9b2054d41", size = 4830256, upload-time = "2026-06-09T22:31:43.868Z" }, + { url = "https://files.pythonhosted.org/packages/47/a2/e5079a032fb85cf6005046ca92bbd78b0c82dad2b5751ab8c311659da06f/cryptography-48.0.1-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9bd3f92d76217892b15df84ca256c2c113d386fdda7a7d8691aeeced976507c6", size = 4979117, upload-time = "2026-06-09T22:31:05.845Z" }, + { url = "https://files.pythonhosted.org/packages/42/06/3e768b4c3bc78201583fa35a0e18f640dd782ff41afba88f8545481a8874/cryptography-48.0.1-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:f817adc181390bd54f2f700107a7419040fb7c1bdf2fc26f36551a06a68c3345", size = 7989830, upload-time = "2026-06-09T22:31:07.8Z" }, + { url = "https://files.pythonhosted.org/packages/8a/13/6476736484b94041110c8340a3eb63962fea4975baea8cb4a512adb44d4d/cryptography-48.0.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d5d30989c6917b478b5817902e85fddaea2261efa8648383d965381ccb9e1ac4", size = 4689201, upload-time = "2026-06-09T22:31:09.745Z" }, + { url = "https://files.pythonhosted.org/packages/79/62/65a87f34d2a431546e2509b85d55e8c90df86d668f6731da64d538512ac2/cryptography-48.0.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:df637c05205ea7c1d7fbcbe54bbfea648a52951155f997af13d895d0ecc96991", size = 4702822, upload-time = "2026-06-09T22:32:24.409Z" }, + { url = "https://files.pythonhosted.org/packages/7f/59/810b5204b0a9b10f4b6bc06bd551a8b609803cd931806bc3b71884b225e5/cryptography-48.0.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:869c3b8a53bfe27147832df48b32adadf558249d50e76cb3769d40e986b13265", size = 4694875, upload-time = "2026-06-09T22:32:08.737Z" }, + { url = "https://files.pythonhosted.org/packages/03/8c/3be6cb4da181f5bb6c19cf560c2359d60644a6b5fc5b57854e528f47b296/cryptography-48.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:d069066deead00ac7f090be101be875a06855908f7ec004c27b8fefb4acfb411", size = 4737082, upload-time = "2026-06-09T22:32:22.66Z" }, + { url = "https://files.pythonhosted.org/packages/17/b7/ba75dd947a14b6ad907b01ae8f6b5b348cdd1b48142f0063dee9e20c1d9d/cryptography-48.0.1-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:15254441469dd6bf027039453288e2072124f8b6603563f5d759e1c9b69273fa", size = 4694530, upload-time = "2026-06-09T22:31:53.105Z" }, + { url = "https://files.pythonhosted.org/packages/9f/04/618f4115cfc0add0838c82507aa18a346089428da8653ad38b3ff36f5cb3/cryptography-48.0.1-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:b4e391975f038e66432328639620a4aff2d307513b004f1ca06d6225bced815c", size = 4736660, upload-time = "2026-06-09T22:32:12.676Z" }, + { url = "https://files.pythonhosted.org/packages/24/9c/06e062462a0de28a3b3911322eded4c16deb9f441b1b7575d3dc59488ab5/cryptography-48.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42fcd8e26fe555d9b3577a135f5091fefa0aa4e99129c23fb56787a1bd4ada72", size = 4822229, upload-time = "2026-06-09T22:31:17.062Z" }, + { url = "https://files.pythonhosted.org/packages/f4/be/0561971eaaee4b8a0e7d5113c536921063ab91aaf23278ac374eaf881e11/cryptography-48.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c1400da5e32a43253392277eac7490a60e497d810a63dd5608d71bbd7af507c9", size = 4966364, upload-time = "2026-06-09T22:31:32.842Z" }, + { url = "https://files.pythonhosted.org/packages/ca/6c/00fa2a95997164c8b2072ce327c23d4ab20809ccc323ea5fab91e53a4bba/cryptography-48.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:4fdc69f8e4316bcf0c8c8ec1f26f285d12e8142d88d96c876a59a03be3f6ae67", size = 7987408, upload-time = "2026-06-09T22:32:20.777Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d9/45f309a7e4e5f3f8f121d6d3be9e94024a7726ec598d6e08ae04edb2f04d/cryptography-48.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:48fe40804d4caa2288f24e70ca8c64c42dd826da0ad7e4f1b41b2128d679e6c8", size = 4690196, upload-time = "2026-06-09T22:31:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9f/a1bc8bcc798811b8527eb374bbccf30a3f3e806829d967118222bf1125eb/cryptography-48.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:86be3b1b0b6bf09482fb50a979c508d2950ed95f5621ec77f4e385962006b83a", size = 4696782, upload-time = "2026-06-09T22:31:45.615Z" }, + { url = "https://files.pythonhosted.org/packages/66/c2/81a4fb4e4373c500bb526bc337ac5719dd31dd15b970b84a238168c6aa08/cryptography-48.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4ab0a343c807bbcd90c971cd1ecf072937cd01847a9e002bef88fb47ac6be577", size = 4696618, upload-time = "2026-06-09T22:31:11.564Z" }, + { url = "https://files.pythonhosted.org/packages/78/13/fba657f958d2af66ea959a4ba01212632089249d34af1ae48054136344d7/cryptography-48.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:88c852a0ae366e262e5a1744b685e6a433dc8788dd2a277e418bf4904203609d", size = 4731873, upload-time = "2026-06-09T22:31:22.253Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0f/a10f3a6eb12950a10e3a874070283aa2dd5875b2bfd15fad8a3e17b3f13e/cryptography-48.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:fe0180af5bf9236518a087e35bf2d9a347d5f5f51e63c579d683ddff424e3d46", size = 4696217, upload-time = "2026-06-09T22:31:13.351Z" }, + { url = "https://files.pythonhosted.org/packages/68/ab/8aaa12e4516ec4464033ab79b6f3b592bd5a92102467c4ace8a0d970203f/cryptography-48.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:b74ca3b8e5ecdd833bf6a002ca41b4793bb27fb8f1c06ffaf2643c9e9140e31b", size = 4731388, upload-time = "2026-06-09T22:32:04.019Z" }, + { url = "https://files.pythonhosted.org/packages/1b/24/50027ea4dca85ec1f40688f3c24fb32ccacd520583c9592c3cc95628e6fb/cryptography-48.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2c37f2461406063b417837f5f3daab668652acd82423efcd7f0a9f04be972de1", size = 4824186, upload-time = "2026-06-09T22:32:18.707Z" }, + { url = "https://files.pythonhosted.org/packages/52/41/04cb5eb17085ade6f50cc611fb657df6a0f5885350de8764ece89c050197/cryptography-48.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:86fe77abb1bd87afb251d4d02ada7ecf53a32cee9b67d976abb2e45a13297475", size = 4964539, upload-time = "2026-06-09T22:31:18.793Z" }, +] + +[[package]] +name = "distlib" +version = "0.4.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/46/8d/873e9252ea2c0e0c857884e0a2899ec43ade132345df1925ef24cbe64f18/distlib-0.4.2.tar.gz", hash = "sha256:baeb401c90f27acd15c4861ae0847d1e731c27ac3dbf4210643ba61fa1e813db", size = 614914, upload-time = "2026-06-08T16:24:15.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/60/aa891c893821d4d127292ed66c6940d1d715894bd5a0ce048056bc641773/distlib-0.4.2-py2.py3-none-any.whl", hash = "sha256:ca4cb11e5d746b5ec13c199cbf19ae27a241f89702b54e153a74332955446067", size = 470510, upload-time = "2026-06-08T16:24:13.208Z" }, +] + +[[package]] +name = "distro" +version = "1.9.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, +] + +[[package]] +name = "docopt" +version = "0.6.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/55/8f8cab2afd404cf578136ef2cc5dfb50baa1761b68c9da1fb1e4eed343c9/docopt-0.6.2.tar.gz", hash = "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491", size = 25901, upload-time = "2014-06-16T11:18:57.406Z" } + +[[package]] +name = "easygui" +version = "0.98.3" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/ad/e35f7a30272d322be09dc98592d2f55d27cc933a7fde8baccbbeb2bd9409/easygui-0.98.3.tar.gz", hash = "sha256:d653ff79ee1f42f63b5a090f2f98ce02335d86ad8963b3ce2661805cafe99a04", size = 85583, upload-time = "2022-04-01T13:15:50.752Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/a7/b276ff776533b423710a285c8168b52551cb2ab0855443131fdc7fd8c16f/easygui-0.98.3-py2.py3-none-any.whl", hash = "sha256:33498710c68b5376b459cd3fc48d1d1f33822139eb3ed01defbc0528326da3ba", size = 92655, upload-time = "2022-04-01T13:15:49.568Z" }, +] + +[[package]] +name = "ebcdic" +version = "1.1.1" +source = { registry = "https://pypi.python.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/2f/633031205333bee5f9f93761af8268746aa75f38754823aabb8570eb245b/ebcdic-1.1.1-py2.py3-none-any.whl", hash = "sha256:33b4cb729bc2d0bf46cc1847b0e5946897cb8d3f53520c5b9aa5fa98d7e735f1", size = 128537, upload-time = "2019-08-09T00:54:35.544Z" }, +] + +[[package]] +name = "extract-msg" +version = "0.55.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "beautifulsoup4", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "compressed-rtf", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "ebcdic", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "olefile", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "red-black-tree-mod", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "rtfde", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "tzlocal", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/65/c70afb3b119a44b3ee36b029485dc15326cf3a7c50da19a1ecbbf949c5d1/extract_msg-0.55.0.tar.gz", hash = "sha256:cf08283498c3dfcc7f894dad1579f52e3ced9fb76b865c2355cbe757af8a54e1", size = 331170, upload-time = "2025-08-12T16:07:56.537Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/53/81/87d5241036046ea17c5c8db228f4c9e04e07e53b627015d4496a99449aaf/extract_msg-0.55.0-py3-none-any.whl", hash = "sha256:baf0cdee9a8d267b70c366bc57ceb03dbfa1e7ab2dca6824169a7fe623f0917c", size = 336033, upload-time = "2025-08-12T16:07:54.886Z" }, +] + +[[package]] +name = "filelock" +version = "3.29.3" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/91/f5/3557bf28e0f1943e4849154c821533706e6dea010f96fb6aa0b6949037d1/filelock-3.29.3.tar.gz", hash = "sha256:7fc1b3f39cf172fd8203812043c57b8a65aef9969f38b6704f628b881f761a84", size = 61956, upload-time = "2026-06-10T17:37:11.832Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/8f/b61d427c4f49a8bdadc93f4e7e74df8a6df6f77ee6e26bf0df53d3925363/filelock-3.29.3-py3-none-any.whl", hash = "sha256:e58333029cc9b925f39aad59b1d8f0a1ad836af4e60d7217f4a4dba87461261d", size = 42324, upload-time = "2026-06-10T17:37:10.37Z" }, +] + +[[package]] +name = "github" +version = "3.0.0" +source = { virtual = "." } +dependencies = [ + { name = "splunk-soar-sdk", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] + +[package.dev-dependencies] +dev = [ + { name = "coverage", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "mypy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pre-commit", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pytest", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pytest-mock", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pytest-watch", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "ruff", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] + +[package.metadata] +requires-dist = [{ name = "splunk-soar-sdk", specifier = ">=3.22.2" }] + +[package.metadata.requires-dev] +dev = [ + { name = "coverage", specifier = ">=7.6.7,<8" }, + { name = "mypy", specifier = ">=1.2.0,<2" }, + { name = "pre-commit", specifier = ">=4.2.0,<5" }, + { name = "pytest", specifier = ">=7.4.2,<8" }, + { name = "pytest-mock", specifier = ">=3.14.0,<4" }, + { name = "pytest-watch", specifier = ">=4.2.0,<5" }, + { name = "ruff", specifier = ">=0.11.6,<1" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "hatchling" +version = "1.30.1" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pathspec", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pluggy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "trove-classifiers", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/4c/8717ccb844b4fa5a5ba6352e97d743ed24e9a22cf90b7c109c17030a46a1/hatchling-1.30.1.tar.gz", hash = "sha256:eee4fd45357f72ebb3d7a42e5d72cfb5e29ed426d79e8836288926c4258d5f2e", size = 56929, upload-time = "2026-06-02T00:09:41.487Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/49/2797ec0ef88008a653a8867bb8d1e5c223cd2df8e40390dd5c6a0279cbc5/hatchling-1.30.1-py3-none-any.whl", hash = "sha256:161eacafb3c6f91526e92116d21426369f2c36e98c36a864f11a96345ad4ee31", size = 77489, upload-time = "2026-06-02T00:09:40.139Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "certifi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "h11", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "anyio", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "certifi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "httpcore", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "httpx-retries" +version = "0.5.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "httpx", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/f5/046cac13877ce9b55aebdbb3999e0e45b19b989a95c5fd1040fa04bd1f92/httpx_retries-0.5.0.tar.gz", hash = "sha256:d8c8e1e0852d84be3837aba0bcf78aeb89a4b77db95e8cc988c8c058830b3044", size = 15647, upload-time = "2026-04-20T01:21:47.154Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/a8/aadeaa9a28510727d538636ee8688f0782a98523147852b29404ce696f1b/httpx_retries-0.5.0-py3-none-any.whl", hash = "sha256:d3124592979a9dc6197e666d1f02e9ab996a0c58fce59fad8db6201a6a87304e", size = 8908, upload-time = "2026-04-20T01:21:46.157Z" }, +] + +[[package]] +name = "humanize" +version = "4.15.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/66/a3921783d54be8a6870ac4ccffcd15c4dc0dd7fcce51c6d63b8c63935276/humanize-4.15.0.tar.gz", hash = "sha256:1dd098483eb1c7ee8e32eb2e99ad1910baefa4b75c3aff3a82f4d78688993b10", size = 83599, upload-time = "2025-12-20T20:16:13.19Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/7b/bca5613a0c3b542420cf92bd5e5fb8ebd5435ce1011a091f66bb7693285e/humanize-4.15.0-py3-none-any.whl", hash = "sha256:b1186eb9f5a9749cd9cb8565aee77919dd7c8d076161cf44d70e59e3301e1769", size = 132203, upload-time = "2025-12-20T20:16:11.67Z" }, +] + +[[package]] +name = "identify" +version = "2.6.19" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/63/51723b5f116cc04b061cb6f5a561790abf249d25931d515cd375e063e0f4/identify-2.6.19.tar.gz", hash = "sha256:6be5020c38fcb07da56c53733538a3081ea5aa70d36a156f83044bfbf9173842", size = 99567, upload-time = "2026-04-17T18:39:50.265Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/84/d9273cd09688070a6523c4aee4663a8538721b2b755c4962aafae0011e72/identify-2.6.19-py2.py3-none-any.whl", hash = "sha256:20e6a87f786f768c092a721ad107fc9df0eb89347be9396cadf3f4abbd1fb78a", size = 99397, upload-time = "2026-04-17T18:39:49.221Z" }, +] + +[[package]] +name = "idna" +version = "3.18" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, upload-time = "2026-06-02T14:34:07.794Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455, upload-time = "2026-06-02T14:34:06.319Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.3.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "markupsafe", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "joserfc" +version = "1.7.1" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "cryptography", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/44/90/25cb27518750218e4f850be63d8bbb2343efaad1c01c3571aaa4b3c33bd7/joserfc-1.7.1.tar.gz", hash = "sha256:77d0b76514879c68c6f433bc5b7357a4ab72008ff1e33d8379fd11d72bd8ca81", size = 233181, upload-time = "2026-06-08T07:21:33.412Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/00/fa62404c3e347f946faa13aa21085205f9cc06ad17671e37f81a51662ae8/joserfc-1.7.1-py3-none-any.whl", hash = "sha256:b3e3d655612e2e1ef67b2600f2f420e12e537b020208fab1761fad647319c164", size = 70423, upload-time = "2026-06-08T07:21:32.001Z" }, +] + +[[package]] +name = "lark" +version = "1.3.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/34/28fff3ab31ccff1fd4f6c7c7b0ceb2b6968d8ea4950663eadcb5720591a0/lark-1.3.1.tar.gz", hash = "sha256:b426a7a6d6d53189d318f2b6236ab5d6429eaf09259f1ca33eb716eed10d2905", size = 382732, upload-time = "2025-10-27T18:25:56.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3d/14ce75ef66813643812f3093ab17e46d3a206942ce7376d31ec2d36229e7/lark-1.3.1-py3-none-any.whl", hash = "sha256:c629b661023a014c37da873b4ff58a817398d12635d3bbb2c5a03be7fe5d1e12", size = 113151, upload-time = "2025-10-27T18:25:54.882Z" }, +] + +[[package]] +name = "librt" +version = "0.11.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/40/08/9e7f6b5d2b5bed6ad055cdd5925f192bb403a51280f86b56554d9d0699a2/librt-0.11.0.tar.gz", hash = "sha256:075dc3ef4458a278e0195cbf6ac9d38808d9b906c5a6c7f7f79c3888276a3fb1", size = 200139, upload-time = "2026-05-10T18:17:25.138Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/61/e59168d4d0bf2bf90f4f0caf7a001bfc60254c3af4586013b04dc3ef517b/librt-0.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:78dc31f7fdfe9c9d0eb0e8f42d139db230e826415bbcabd9f0e9faaaee909894", size = 144119, upload-time = "2026-05-10T18:16:11.771Z" }, + { url = "https://files.pythonhosted.org/packages/61/fd/caa1d60b12f7dd79ccea23054e06eeaebe266a5f52c40a6b651069200ce5/librt-0.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fa475675db22290c3158e1d42326d0f5a65f04f44a0e68c3630a25b53560fb9c", size = 143565, upload-time = "2026-05-10T18:16:13.334Z" }, + { url = "https://files.pythonhosted.org/packages/b8/a9/dc744f5c2b4978d48db970be29f22716d3413d28b14ad99740817315cf2c/librt-0.11.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:621db29691044bdeda22e789e482e1b0f3a985d90e3426c9c6d17606416205ea", size = 485395, upload-time = "2026-05-10T18:16:14.729Z" }, + { url = "https://files.pythonhosted.org/packages/a6/6d/d8ee9c114bebf2c50e29ec2aa940826fccb62a645c3e4c18760987d0e16d/librt-0.11.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7c39513d8b7477a2e1ed8c43fc21c524e8d5a0f8d4e8b7b074dbdbe7820a08e2", size = 513010, upload-time = "2026-05-10T18:16:17.647Z" }, + { url = "https://files.pythonhosted.org/packages/4a/50/356187247d09013490481033183b3532b58acf8028bcb34b2b56a375c9b2/librt-0.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:557183ddc36babe46b27dd60facbd5adb4492181a5be887587d57cda6e092f21", size = 522595, upload-time = "2026-05-10T18:16:20.642Z" }, + { url = "https://files.pythonhosted.org/packages/ae/66/6e6323787d592b55204a42595ff1102da5115601b53a7e9ddebc889a6da5/librt-0.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:970b09f7044ea2b64c9da42fd3d335666518cfd1c6e8a182c95da73d0214b41e", size = 553920, upload-time = "2026-05-10T18:16:25.025Z" }, + { url = "https://files.pythonhosted.org/packages/29/eb/dbce197da4e227779e56b5735f2decc3eb36e55a1cdbf1bd65d6639d76c1/librt-0.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:4a017a95e5837dc15a8c5661d60e05daa96b90908b1aa6b7acdf443cd25c8ebd", size = 143345, upload-time = "2026-05-10T18:16:30.674Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/254bebd0c11c8ba684018efb8006ff22e466abce445215cca6c778e7d9de/librt-0.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b1ecbd9819deccc39b7542bf4d2a740d8a620694d39989e58661d3763458f8d4", size = 143131, upload-time = "2026-05-10T18:16:32.037Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3f/f77d6122d21ac7bf6ae8a7dfced1bd2a7ac545d3273ebdcaf8042f6d619f/librt-0.11.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7da327dacd7be8f8ec36547373550744a3cc0e536d54665cd83f8bcd961200e8", size = 477024, upload-time = "2026-05-10T18:16:33.493Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7e/f5d92af8486b8272c23b3e686b46ff72d89c8169585eb61eef01a2ac7147/librt-0.11.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:05fb8fb2ab90e21c8d12ea240d744ad514da9baf381ebfa70d91d20d21713175", size = 505174, upload-time = "2026-05-10T18:16:36.705Z" }, + { url = "https://files.pythonhosted.org/packages/18/06/094820f91558b66e29943c0ec41c9914f460f48dd51fc503c3101e10842d/librt-0.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:32bcc918c0148eb7e3d57385125bac7e5f9e4359d05f07448b09f6f778c2f31c", size = 513921, upload-time = "2026-05-10T18:16:39.848Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ec/ae5525eb16edc827a044e7bb8777a455ff95d4bca9379e7e6bddd7383647/librt-0.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:de3bf945454d032f9e390b85c4072e0a0570bf825421c8be0e71209fa65e1abe", size = 546261, upload-time = "2026-05-10T18:16:44.408Z" }, + { url = "https://files.pythonhosted.org/packages/0c/71/944bfe4b64e12abffcd3c15e1cce07f72f3d55655083786285f4dedeb532/librt-0.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d1b36540d7aaf9b9101b3a6f376c8d8e9f7a9aec93ed05918f2c69d493ffef72", size = 151138, upload-time = "2026-05-10T18:16:49.839Z" }, + { url = "https://files.pythonhosted.org/packages/b6/10/99e64a5c86989357fda078c8143c533389585f6473b7439172dd8f3b3b2d/librt-0.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:efbb343ab2ce3540f4ecbe6315d677ed70f37cd9a72b1e58066c918ca83acbaa", size = 151976, upload-time = "2026-05-10T18:16:51.062Z" }, + { url = "https://files.pythonhosted.org/packages/21/31/5072ad880946d83e5ea4147d6d018c78eefce85b77819b19bdd0ee229435/librt-0.11.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa0dd688aab3f7914d3e6e5e3554978e0383312fb8e771d84be008a35b9ee548", size = 557927, upload-time = "2026-05-10T18:16:52.632Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a3/ba3495a0b3edbd24a4cae0d1d3c64f39a9fc45d06e812101289b50c1a619/librt-0.11.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4a9a237d13addb93715b6fee74023d5ee3469b53fce527626c0e088aa585805f", size = 577162, upload-time = "2026-05-10T18:16:55.589Z" }, + { url = "https://files.pythonhosted.org/packages/33/0d/3f622b47f0b013eeb9cf4cc07ae9bfe378d832a4eec998b2b209fe84244d/librt-0.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:bd43992b4473d42f12ff9e68326079f0696d9d4e6000e8f39a0238d482ba6ee2", size = 596858, upload-time = "2026-05-10T18:16:58.374Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2c/5a2183ac58dd911f26b5d7e7d7d8f1d87fcecdddd99d6c12169a258ff62c/librt-0.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0add982e0e7b9fc14cf4b33789d5f13f66581889b88c2f58099f6ce8f92617bd", size = 617918, upload-time = "2026-05-10T18:17:02.682Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.2.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "mdurl", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/ff/7841249c247aa650a76b9ee4bbaeae59370dc8bfd2f6c01f3630c35eb134/markdown_it_py-4.2.0.tar.gz", hash = "sha256:04a21681d6fbb623de53f6f364d352309d4094dd4194040a10fd51833e418d49", size = 82454, upload-time = "2026-05-07T12:08:28.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl", hash = "sha256:9f7ebbcd14fe59494226453aed97c1070d83f8d24b6fc3a3bcf9a38092641c4a", size = 91687, upload-time = "2026-05-07T12:08:27.182Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, +] + +[[package]] +name = "mdurl" +version = "0.1.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, +] + +[[package]] +name = "msoffcrypto-tool" +version = "6.0.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "cryptography", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "olefile", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/34/6250bdddaeaae24098e45449ea362fb3555a65fba30cad0ad5630ea48d1a/msoffcrypto_tool-6.0.0.tar.gz", hash = "sha256:9a5ebc4c0096b42e5d7ebc2350afdc92dc511061e935ca188468094fdd032bbe", size = 40593, upload-time = "2026-01-12T08:59:56.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/85/9e359fa9279e1d6861faaf9b6f037a3226374deb20a054c3937be6992013/msoffcrypto_tool-6.0.0-py3-none-any.whl", hash = "sha256:46c394ed5d9641e802fc79bf3fb0666a53748b23fa8c4aa634ae9d30d46fe397", size = 48791, upload-time = "2026-01-12T08:59:55.394Z" }, +] + +[[package]] +name = "mypy" +version = "1.20.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "librt", marker = "(platform_machine == 'arm64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and platform_python_implementation != 'PyPy' and sys_platform == 'linux') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy' and sys_platform == 'linux')" }, + { name = "mypy-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pathspec", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/af/e3d4b3e9ec91a0ff9aabfdb38692952acf49bbb899c2e4c29acb3a6da3ae/mypy-1.20.2.tar.gz", hash = "sha256:e8222c26daaafd9e8626dec58ae36029f82585890589576f769a650dd20fd665", size = 3817349, upload-time = "2026-04-21T17:12:28.473Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/c4/b93812d3a192c9bcf5df405bd2f30277cd0e48106a14d1023c7f6ed6e39b/mypy-1.20.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:edfbfca868cdd6bd8d974a60f8a3682f5565d3f5c99b327640cedd24c4264026", size = 14524670, upload-time = "2026-04-21T17:10:30.737Z" }, + { url = "https://files.pythonhosted.org/packages/f3/47/42c122501bff18eaf1e8f457f5c017933452d8acdc52918a9f59f6812955/mypy-1.20.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e2877a02380adfcdbc69071a0f74d6e9dbbf593c0dc9d174e1f223ffd5281943", size = 13336218, upload-time = "2026-04-21T17:08:44.069Z" }, + { url = "https://files.pythonhosted.org/packages/92/8f/75bbc92f41725fbd585fb17b440b1119b576105df1013622983e18640a93/mypy-1.20.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7488448de6007cd5177c6cea0517ac33b4c0f5ee9b5e9f2be51ce75511a85517", size = 13724906, upload-time = "2026-04-21T17:08:01.02Z" }, + { url = "https://files.pythonhosted.org/packages/a1/32/4c49da27a606167391ff0c39aa955707a00edc500572e562f7c36c08a71f/mypy-1.20.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bb9c2fa06887e21d6a3a868762acb82aec34e2c6fd0174064f27c93ede68ad15", size = 14726046, upload-time = "2026-04-21T17:11:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/7f/fc/4e354a1bd70216359deb0c9c54847ee6b32ef78dfb09f5131ff99b494078/mypy-1.20.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d56a78b646f2e3daa865bc70cd5ec5a46c50045801ca8ff17a0c43abc97e3ee", size = 14955587, upload-time = "2026-04-21T17:12:16.033Z" }, + { url = "https://files.pythonhosted.org/packages/ae/d1/b4ec96b0ecc620a4443570c6e95c867903428cfcde4206518eafdd5880c3/mypy-1.20.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:419413398fe250aae057fd2fe50166b61077083c9b82754c341cf4fd73038f30", size = 14524561, upload-time = "2026-04-21T17:06:27.325Z" }, + { url = "https://files.pythonhosted.org/packages/3a/63/d2c2ff4fa66bc49477d32dfa26e8a167ba803ea6a69c5efb416036909d30/mypy-1.20.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e73c07f23009962885c197ccb9b41356a30cc0e5a1d0c2ea8fd8fb1362d7f924", size = 13363883, upload-time = "2026-04-21T17:11:11.239Z" }, + { url = "https://files.pythonhosted.org/packages/2a/56/983916806bf4eddeaaa2c9230903c3669c6718552a921154e1c5182c701f/mypy-1.20.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0c64e5973df366b747646fc98da921f9d6eba9716d57d1db94a83c026a08e0fb", size = 13742945, upload-time = "2026-04-21T17:08:34.181Z" }, + { url = "https://files.pythonhosted.org/packages/19/65/0cd9285ab010ee8214c83d67c6b49417c40d86ce46f1aa109457b5a9b8d7/mypy-1.20.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a65aa591af023864fd08a97da9974e919452cfe19cb146c8a5dc692626445dc", size = 14706163, upload-time = "2026-04-21T17:05:15.51Z" }, + { url = "https://files.pythonhosted.org/packages/94/97/48ff3b297cafcc94d185243a9190836fb1b01c1b0918fff64e941e973cc9/mypy-1.20.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:4fef51b01e638974a6e69885687e9bd40c8d1e09a6cd291cca0619625cf1f558", size = 14938677, upload-time = "2026-04-21T17:05:39.562Z" }, + { url = "https://files.pythonhosted.org/packages/4e/a1/9d93a7d0b5859af0ead82b4888b46df6c8797e1bc5e1e262a08518c6d48e/mypy-1.20.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:2de3dcea53babc1c3237a19002bc3d228ce1833278f093b8d619e06e7cc79609", size = 15549002, upload-time = "2026-04-21T17:08:23.107Z" }, + { url = "https://files.pythonhosted.org/packages/00/d2/09a6a10ee1bf0008f6c144d9676f2ca6a12512151b4e0ad0ff6c4fac5337/mypy-1.20.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:52b176444e2e5054dfcbcb8c75b0b719865c96247b37407184bbfca5c353f2c2", size = 14401942, upload-time = "2026-04-21T17:07:31.837Z" }, + { url = "https://files.pythonhosted.org/packages/57/da/9594b75c3c019e805250bed3583bdf4443ff9e6ef08f97e39ae308cb06f2/mypy-1.20.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:688c3312e5dadb573a2c69c82af3a298d43ecf9e6d264e0f95df960b5f6ac19c", size = 15041649, upload-time = "2026-04-21T17:09:34.653Z" }, + { url = "https://files.pythonhosted.org/packages/97/77/f75a65c278e6e8eba2071f7f5a90481891053ecc39878cc444634d892abe/mypy-1.20.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:29752dbbf8cc53f89f6ac096d363314333045c257c9c75cbd189ca2de0455744", size = 15864588, upload-time = "2026-04-21T17:11:44.936Z" }, + { url = "https://files.pythonhosted.org/packages/d7/46/1a4e1c66e96c1a3246ddf5403d122ac9b0a8d2b7e65730b9d6533ba7a6d3/mypy-1.20.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:803203d2b6ea644982c644895c2f78b28d0e208bba7b27d9b921e0ec5eb207c6", size = 16093956, upload-time = "2026-04-21T17:10:17.683Z" }, + { url = "https://files.pythonhosted.org/packages/28/9a/f23c163e25b11074188251b0b5a0342625fc1cdb6af604757174fa9acc9b/mypy-1.20.2-py3-none-any.whl", hash = "sha256:a94c5a76ab46c5e6257c7972b6c8cff0574201ca7dc05647e33e795d78680563", size = 2637314, upload-time = "2026-04-21T17:05:54.5Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.10.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/bf/d1bda4f6168e0b2e9e5958945e01910052158313224ada5ce1fb2e1113b8/nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb", size = 55611, upload-time = "2025-12-20T14:08:54.006Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/b2/d0896bdcdc8d28a7fc5717c305f1a861c26e18c05047949fb371034d98bd/nodeenv-1.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827", size = 23438, upload-time = "2025-12-20T14:08:52.782Z" }, +] + +[[package]] +name = "olefile" +version = "0.47" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/69/1b/077b508e3e500e1629d366249c3ccb32f95e50258b231705c09e3c7a4366/olefile-0.47.zip", hash = "sha256:599383381a0bf3dfbd932ca0ca6515acd174ed48870cbf7fee123d698c192c1c", size = 112240, upload-time = "2023-12-01T16:22:53.025Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/d3/b64c356a907242d719fc668b71befd73324e47ab46c8ebbbede252c154b2/olefile-0.47-py2.py3-none-any.whl", hash = "sha256:543c7da2a7adadf21214938bb79c83ea12b473a4b6ee4ad4bf854e7715e13d1f", size = 114565, upload-time = "2023-12-01T16:22:51.518Z" }, +] + +[[package]] +name = "oletools" +version = "0.60.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "colorclass", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "easygui", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "msoffcrypto-tool", marker = "(platform_machine == 'arm64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and platform_python_implementation != 'PyPy' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "olefile", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pcodedmp", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pyparsing", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/2f/037f40e44706d542b94a2312ccc33ee2701ebfc9a83b46b55263d49ce55a/oletools-0.60.2.zip", hash = "sha256:ad452099f4695ffd8855113f453348200d195ee9fa341a09e197d66ee7e0b2c3", size = 3433750, upload-time = "2024-07-02T14:50:38.242Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ac/ff/05257b7183279b80ecec6333744de23f48f0faeeba46c93e6d13ce835515/oletools-0.60.2-py2.py3-none-any.whl", hash = "sha256:72ad8bd748fd0c4e7b5b4733af770d11543ebb2bf2697455f99f975fcd50cc96", size = 989449, upload-time = "2024-07-02T14:50:29.122Z" }, +] + +[[package]] +name = "packaging" +version = "26.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, +] + +[[package]] +name = "pathspec" +version = "1.1.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/82/42f767fc1c1143d6fd36efb827202a2d997a375e160a71eb2888a925aac1/pathspec-1.1.1.tar.gz", hash = "sha256:17db5ecd524104a120e173814c90367a96a98d07c45b2e10c2f3919fff91bf5a", size = 135180, upload-time = "2026-04-27T01:46:08.907Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/d9/7fb5aa316bc299258e68c73ba3bddbc499654a07f151cba08f6153988714/pathspec-1.1.1-py3-none-any.whl", hash = "sha256:a00ce642f577bf7f473932318056212bc4f8bfdf53128c78bbd5af0b9b20b189", size = 57328, upload-time = "2026-04-27T01:46:07.06Z" }, +] + +[[package]] +name = "pcodedmp" +version = "1.2.6" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "oletools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/20/6d461e29135f474408d0d7f95b2456a9ba245560768ee51b788af10f7429/pcodedmp-1.2.6.tar.gz", hash = "sha256:025f8c809a126f45a082ffa820893e6a8d990d9d7ddb68694b5a9f0a6dbcd955", size = 35549, upload-time = "2019-07-30T18:05:42.516Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/72/b380fb5c89d89c3afafac8cf02a71a45f4f4a4f35531ca949a34683962d1/pcodedmp-1.2.6-py2.py3-none-any.whl", hash = "sha256:4441f7c0ab4cbda27bd4668db3b14f36261d86e5059ce06c0828602cbe1c4278", size = 30939, upload-time = "2019-07-30T18:05:40.483Z" }, +] + +[[package]] +name = "pip-licenses" +version = "5.5.5" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "prettytable", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/18/ddd93af610a04f56a51a27095ddfe55238e1ec236f6758730a0d2c0b49f2/pip_licenses-5.5.5.tar.gz", hash = "sha256:60750c006adf7a0910347b726e8ee9fee3bc8d2e7c8307a5c4ec0776c8e2a276", size = 54955, upload-time = "2026-03-28T22:12:56.48Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/9a/6acfdb8d463eac7cdae7534d35d72237eca63f5fbafe797289d8a5fae447/pip_licenses-5.5.5-py3-none-any.whl", hash = "sha256:f4c4c6d9e6a03612cf59f29f19dc8ab54904d82e055b8e191498f2279a224e14", size = 23247, upload-time = "2026-03-28T22:12:54.89Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.10.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/47/e4501f49c178ae1d9f4a75073fda4204f52647993f075a9db4d14930e0c5/platformdirs-4.10.0.tar.gz", hash = "sha256:31e761a6a0ca04faf7353ea759bdba55652be214725111e5aac52dfa29d4bef7", size = 31224, upload-time = "2026-05-28T03:32:53.587Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/e6/cd9575ac904136b3cbf7aa7ee819ef86eedb7274e46f230e94ea4342e729/platformdirs-4.10.0-py3-none-any.whl", hash = "sha256:fb516cdb12eb0d857d0cd85a7c57cea4d060bee4578d6cf5a14dfdf8cbf8784a", size = 22743, upload-time = "2026-05-28T03:32:52.175Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.6.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "cfgv", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "identify", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "nodeenv", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pyyaml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "virtualenv", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8e/22/2de9408ac81acbb8a7d05d4cc064a152ccf33b3d480ebe0cd292153db239/pre_commit-4.6.0.tar.gz", hash = "sha256:718d2208cef53fdc38206e40524a6d4d9576d103eb16f0fec11c875e7716e9d9", size = 198525, upload-time = "2026-04-21T20:31:41.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/6e/4b28b62ecb6aae56769c34a8ff1d661473ec1e9519e2d5f8b2c150086b26/pre_commit-4.6.0-py2.py3-none-any.whl", hash = "sha256:e2cf246f7299edcabcf15f9b0571fdce06058527f0a06535068a86d38089f29b", size = 226472, upload-time = "2026-04-21T20:31:40.092Z" }, +] + +[[package]] +name = "prettytable" +version = "3.17.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "wcwidth", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/45/b0847d88d6cfeb4413566738c8bbf1e1995fad3d42515327ff32cc1eb578/prettytable-3.17.0.tar.gz", hash = "sha256:59f2590776527f3c9e8cf9fe7b66dd215837cca96a9c39567414cbc632e8ddb0", size = 67892, upload-time = "2025-11-14T17:33:20.212Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl", hash = "sha256:aad69b294ddbe3e1f95ef8886a060ed1666a0b83018bbf56295f6f226c43d287", size = 34433, upload-time = "2025-11-14T17:33:19.093Z" }, +] + +[[package]] +name = "pycparser" +version = "3.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz", hash = "sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29", size = 103492, upload-time = "2026-01-21T14:26:51.89Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0c/c3/44f3fbbfa403ea2a7c779186dc20772604442dde72947e7d01069cbe98e3/pycparser-3.0-py3-none-any.whl", hash = "sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992", size = 48172, upload-time = "2026-01-21T14:26:50.693Z" }, +] + +[[package]] +name = "pydantic" +version = "2.13.4" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "annotated-types", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pydantic-core", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "typing-inspection", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/a5/b60d21ac674192f8ab0ba4e9fd860690f9b4a6e51ca5df118733b487d8d6/pydantic-2.13.4.tar.gz", hash = "sha256:c40756b57adaa8b1efeeced5c196f3f3b7c435f90e84ea7f443901bec8099ef6", size = 844775, upload-time = "2026-05-06T13:43:05.343Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/7b/122376b1fd3c62c1ed9dc80c931ace4844b3c55407b6fb2d199377c9736f/pydantic-2.13.4-py3-none-any.whl", hash = "sha256:45a282cde31d808236fd7ea9d919b128653c8b38b393d1c4ab335c62924d9aba", size = 472262, upload-time = "2026-05-06T13:43:02.641Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.46.4" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/56/921726b776ace8d8f5db44c4ef961006580d91dc52b803c489fafd1aa249/pydantic_core-2.46.4.tar.gz", hash = "sha256:62f875393d7f270851f20523dd2e29f082bcc82292d66db2b64ea71f64b6e1c1", size = 471464, upload-time = "2026-05-06T13:37:06.98Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/a2/5d30b469c5267a17b39dec53208222f76a8d351dfac4af661888c5aee77d/pydantic_core-2.46.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:5d5902252db0d3cedf8d4a1bc68f70eeb430f7e4c7104c8c476753519b423008", size = 2106306, upload-time = "2026-05-06T13:37:48.029Z" }, + { url = "https://files.pythonhosted.org/packages/c1/81/4fa520eaffa8bd7d1525e644cd6d39e7d60b1592bc5b516693c7340b50f1/pydantic_core-2.46.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c94f0688e7b8d0a67abf40e57a7eaaecd17cc9586706a31b76c031f63df052b4", size = 1951906, upload-time = "2026-05-06T13:37:17.012Z" }, + { url = "https://files.pythonhosted.org/packages/03/d5/fd02da45b659668b05923b17ba3a0100a0a3d5541e3bd8fcc4ecb711309e/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f027324c56cd5406ca49c124b0db10e56c69064fec039acc571c29020cc87c76", size = 1976802, upload-time = "2026-05-06T13:37:35.113Z" }, + { url = "https://files.pythonhosted.org/packages/07/f8/41db9de19d7987d6b04715a02b3b40aea467000275d9d758ffaa31af7d50/pydantic_core-2.46.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9551187363ffc0de2a00b2e47c25aeaeb1020b69b668762966df15fc5659dd5a", size = 2094467, upload-time = "2026-05-06T13:39:18.847Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f2/c8d7773ede6af08036423a00ae0ceffce266c3c52a096c435d68c896083f/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:cbaf13819775b7f769bf4a1f066cb6df7a28d4480081a589828ef190226881cd", size = 2188782, upload-time = "2026-05-06T13:36:51.018Z" }, + { url = "https://files.pythonhosted.org/packages/c2/eb/4f6c8a41efa30baa755590f4141abf3a8c370fab610915733e74134a7270/pydantic_core-2.46.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:82cf5301172168103724d49a1444d3378cb20cdee30b116a1bd6031236298a5d", size = 2372986, upload-time = "2026-05-06T13:39:34.152Z" }, + { url = "https://files.pythonhosted.org/packages/8d/74/228a26ddad29c6672b805d9fd78e8d251cd04004fa7eed0e622096cd0250/pydantic_core-2.46.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:428e04521a40150c85216fc8b85e8d39fece235a9cf5e383761238c7fa9b96fb", size = 2102079, upload-time = "2026-05-06T13:38:41.019Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/8970b150a4b4365623ae00fc88603491f763c627311ae8031e3111356d6e/pydantic_core-2.46.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:23ace664830ee0bfe014a0c7bc248b1f7f25ed7ad103852c317624a1083af462", size = 1952179, upload-time = "2026-05-06T13:36:59.812Z" }, + { url = "https://files.pythonhosted.org/packages/95/30/5211a831ae054928054b2f79731661087a2bc5c01e825c672b3a4a8f1b3e/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce5c1d2a8b27468f433ca974829c44060b8097eedc39933e3c206a90ee49c4a9", size = 1978926, upload-time = "2026-05-06T13:37:39.933Z" }, + { url = "https://files.pythonhosted.org/packages/89/1d/8eff589b45bb8190a9d12c49cfad0f176a5cbd1534908a6b5125e2886239/pydantic_core-2.46.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a5f930472650a82629163023e630d160863fce524c616f4e5186e5de9d9a49b", size = 2099732, upload-time = "2026-05-06T13:39:31.942Z" }, + { url = "https://files.pythonhosted.org/packages/7b/79/7daa95be995be0eecc4cf75064cb33f9bbbfe3fe0158caf2f0d4a996a5c7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:3fb702cd90b0446a3a1c5e470bfa0dd23c0233b676a9099ddcc964fa6ca13898", size = 2184325, upload-time = "2026-05-06T13:36:53.615Z" }, + { url = "https://files.pythonhosted.org/packages/05/db/d9ba624cc4a5aced1598e88c04fdbd8310c8a69b9d38b9a3d39ce3a61ed7/pydantic_core-2.46.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:372429a130e469c9cd698925ce5fc50940b7a1336b0d82038e63d5bbc4edc519", size = 2369978, upload-time = "2026-05-06T13:37:23.027Z" }, + { url = "https://files.pythonhosted.org/packages/e8/91/855af51d625b23aa987116a19e231d2aaef9c4a415273ddc189b79a45fee/pydantic_core-2.46.4-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:af8244b2bef6aaad6d92cda81372de7f8c8d36c9f0c3ea36e827c60e7d9467a0", size = 2099593, upload-time = "2026-05-06T13:39:47.682Z" }, + { url = "https://files.pythonhosted.org/packages/fb/1b/8784a54c65edb5f49f0a14d6977cf1b209bba85a4c77445b255c2de58ab3/pydantic_core-2.46.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a4330cdbc57162e4b3aa303f588ba752257694c9c9be3e7ebb11b4aca659b5d", size = 1935226, upload-time = "2026-05-06T13:40:40.428Z" }, + { url = "https://files.pythonhosted.org/packages/e8/e7/1955d28d1afc56dd4b3ad7cc0cf39df1b9852964cf16e5d13912756d6d6b/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29c61fc04a3d840155ff08e475a04809278972fe6aef51e2720554e96367e34b", size = 1974605, upload-time = "2026-05-06T13:37:32.029Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/4d8b19008f38d31c53b8219cfedc2e3d5de5fe99d90076b7e767de29274f/pydantic_core-2.46.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7027560ee92211647d0d34e3f7cd6f50da56399d26a9c8ad0da286d3869a53f3", size = 2109219, upload-time = "2026-05-06T13:38:12.153Z" }, + { url = "https://files.pythonhosted.org/packages/1d/a2/367df868eb584dacf6bf82a389272406d7178e301c4ac82545ab98bc2dd9/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:97e7cf2be5c77b7d1a9713a05605d49460d02c6078d38d8bef3cbe323c548424", size = 2168146, upload-time = "2026-05-06T13:38:31.93Z" }, + { url = "https://files.pythonhosted.org/packages/64/c4/be2639293acd87dc8ddbcec41a73cee9b2ebf996fe6d892a1a74e88ad3f7/pydantic_core-2.46.4-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:3ecbc122d18468d06ca279dc26a8c2e2d5acb10943bb35e36ae92096dc3b5565", size = 2369736, upload-time = "2026-05-06T13:37:05.645Z" }, +] + +[[package]] +name = "pygments" +version = "2.20.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/b2/bc9c9196916376152d655522fdcebac55e66de6603a76a02bca1b6414f6c/pygments-2.20.0.tar.gz", hash = "sha256:6757cd03768053ff99f3039c1a36d6c0aa0b263438fcab17520b30a303a82b5f", size = 4955991, upload-time = "2026-03-29T13:29:33.898Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/7e/a72dd26f3b0f4f2bf1dd8923c85f7ceb43172af56d63c7383eb62b332364/pygments-2.20.0-py3-none-any.whl", hash = "sha256:81a9e26dd42fd28a23a2d169d86d7ac03b46e2f8b59ed4698fb4785f946d0176", size = 1231151, upload-time = "2026-03-29T13:29:30.038Z" }, +] + +[[package]] +name = "pyjwt" +version = "2.13.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/81/58d0ac84e1ef3a3843791d6954d94c0b33d526c75eeb1efbce9d0a4c4077/pyjwt-2.13.0.tar.gz", hash = "sha256:41571c89ca91598c79e8ef18a2d07367d4810fbbd6f637794879baf1b7703423", size = 107515, upload-time = "2026-05-21T19:54:36.618Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/5e/ecf12fdb62546d64385c158514e9b2b671f7832108ef2ecd2020ce0af2d1/pyjwt-2.13.0-py3-none-any.whl", hash = "sha256:66adcc2aff09b3f1bbd95fc1e1577df8ac8723c978552fd43304c8a290ac5728", size = 31274, upload-time = "2026-05-21T19:54:35.362Z" }, +] + +[package.optional-dependencies] +crypto = [ + { name = "cryptography", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] + +[[package]] +name = "pyparsing" +version = "3.3.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/91/9c6ee907786a473bf81c5f53cf703ba0957b23ab84c264080fb5a450416f/pyparsing-3.3.2.tar.gz", hash = "sha256:c777f4d763f140633dcb6d8a3eda953bf7a214dc4eff598413c070bcdc117cbc", size = 6851574, upload-time = "2026-01-21T03:57:59.36Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl", hash = "sha256:850ba148bd908d7e2411587e247a1e4f0327839c40e2e5e6d05a007ecc69911d", size = 122781, upload-time = "2026-01-21T03:57:55.912Z" }, +] + +[[package]] +name = "pyproject-hooks" +version = "1.2.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228, upload-time = "2024-09-29T09:24:13.293Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload-time = "2024-09-29T09:24:11.978Z" }, +] + +[[package]] +name = "pytest" +version = "7.4.4" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "iniconfig", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pluggy", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/1f/9d8e98e4133ffb16c90f3b405c43e38d3abb715bb5d7a63a5a684f7e46a3/pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280", size = 1357116, upload-time = "2023-12-31T12:00:18.035Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8", size = 325287, upload-time = "2023-12-31T12:00:13.963Z" }, +] + +[[package]] +name = "pytest-mock" +version = "3.15.1" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "pytest", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/68/14/eb014d26be205d38ad5ad20d9a80f7d201472e08167f0bb4361e251084a9/pytest_mock-3.15.1.tar.gz", hash = "sha256:1849a238f6f396da19762269de72cb1814ab44416fa73a8686deac10b0d87a0f", size = 34036, upload-time = "2025-09-16T16:37:27.081Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/cc/06253936f4a7fa2e0f48dfe6d851d9c56df896a9ab09ac019d70b760619c/pytest_mock-3.15.1-py3-none-any.whl", hash = "sha256:0a25e2eb88fe5168d535041d09a4529a188176ae608a6d249ee65abc0949630d", size = 10095, upload-time = "2025-09-16T16:37:25.734Z" }, +] + +[[package]] +name = "pytest-watch" +version = "4.2.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "colorama", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "docopt", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pytest", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "watchdog", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/47/ab65fc1d682befc318c439940f81a0de1026048479f732e84fe714cd69c0/pytest-watch-4.2.0.tar.gz", hash = "sha256:06136f03d5b361718b8d0d234042f7b2f203910d8568f63df2f866b547b3d4b9", size = 16340, upload-time = "2018-05-20T19:52:16.194Z" } + +[[package]] +name = "python-discovery" +version = "1.4.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "filelock", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "platformdirs", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a6/12/38c1a0b1e64806780c9563e3fc9f6e472251839662587cfbe9bfaf2ae10a/python_discovery-1.4.0.tar.gz", hash = "sha256:eb8bc7daad3c226c147e45bb4e970a1feb1bf4048ee178e6db59e197b8010ce3", size = 68455, upload-time = "2026-05-28T01:15:37.639Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/8d/3d316429f65029532bb1e28ff77b797d86b5ac3915bb44ca4e19aa283d43/python_discovery-1.4.0-py3-none-any.whl", hash = "sha256:26ed78d703e234879a66244c7d4114563fb13ec5cd30a2d1357e5fb4850782da", size = 33217, upload-time = "2026-05-28T01:15:36.573Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, +] + +[[package]] +name = "red-black-tree-mod" +version = "1.22" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/48/75/bfa342a2ebfc9623b701f1c6995b9906fd6dd2cedf6bce777d09e23303ac/red-black-tree-mod-1.22.tar.gz", hash = "sha256:38e3652903a2bf96379c27c2082ca0b7b905158662dd7ef0c97f4fd93a9aa908", size = 34173, upload-time = "2023-12-26T14:00:22.056Z" } + +[[package]] +name = "requests" +version = "2.34.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "certifi", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "charset-normalizer", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "idna", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "urllib3", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/c3/e2a2b89f2d3e2179abd6d00ebd70bff6273f37fb3e0cc209f48b39d00cbf/requests-2.34.2.tar.gz", hash = "sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed", size = 142856, upload-time = "2026-05-14T19:25:27.735Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl", hash = "sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0", size = 73075, upload-time = "2026-05-14T19:25:26.443Z" }, +] + +[[package]] +name = "rich" +version = "15.0.0" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "markdown-it-py", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pygments", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c0/8f/0722ca900cc807c13a6a0c696dacf35430f72e0ec571c4275d2371fca3e9/rich-15.0.0.tar.gz", hash = "sha256:edd07a4824c6b40189fb7ac9bc4c52536e9780fbbfbddf6f1e2502c31b068c36", size = 230680, upload-time = "2026-04-12T08:24:00.75Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl", hash = "sha256:33bd4ef74232fb73fe9279a257718407f169c09b78a87ad3d296f548e27de0bb", size = 310654, upload-time = "2026-04-12T08:24:02.83Z" }, +] + +[[package]] +name = "rtfde" +version = "0.1.2.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "lark", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "oletools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/5c/116a016b38af589e8141160bc9b034b73dde2e50c22a921751f4d982a7ca/rtfde-0.1.2.2.tar.gz", hash = "sha256:2f0cd6ecd644071e39452e6fc4f4a1435453af0ec7c90ea86fb4fc96010c7f1b", size = 33408, upload-time = "2025-12-09T17:10:31.805Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/24/5a653278259be44c1845ddd56dd30cfa7265281ba149b9342b79f9d4f788/rtfde-0.1.2.2-py3-none-any.whl", hash = "sha256:d43868c74f21ae9ea5acbfd4176d5de1f2cfae0ff7f267698471c606287c04ec", size = 36713, upload-time = "2025-12-09T17:10:30.893Z" }, +] + +[[package]] +name = "ruff" +version = "0.15.16" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/bd/5f7ec371001337d8fa61701c186ff8b613ecac1651848c5950f4c4d5f2e9/ruff-0.15.16.tar.gz", hash = "sha256:d05e78d38c78caf020b03789e25106c93017db5a0cb6e2819885018c61343b78", size = 4714267, upload-time = "2026-06-04T16:33:09.974Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/9a/a79159346f19134a956607754e57d8d128f7a4c00f4ad2f7514d224c172c/ruff-0.15.16-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:197c207ed75ffba54a0dec23db4aa939a27a3053073e085e0042433cbdc58e4a", size = 11063550, upload-time = "2026-06-04T16:32:42.24Z" }, + { url = "https://files.pythonhosted.org/packages/bc/72/3ce2ac000a5299ec238e01f51397b3b653c93b077d9b1bfe8715bb895f20/ruff-0.15.16-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a39fec45ab316cc23e7558f23fea4a70403ddb5648ea9a4a3854a16973d0071", size = 10421345, upload-time = "2026-06-04T16:32:37.251Z" }, + { url = "https://files.pythonhosted.org/packages/b0/c2/cc7fad3ec9169373f5b6a18f1917b91080feec40c3f9658334a1d28e2f03/ruff-0.15.16-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba93191d79003116b95128c9d306e045200fdbd0bccb782b110f3cd1d4abc5cf", size = 10757217, upload-time = "2026-06-04T16:32:54.722Z" }, + { url = "https://files.pythonhosted.org/packages/72/11/5da87abe20047c8962361473923ebb2f62b595250126aadfad8c20649c1e/ruff-0.15.16-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb27515fa6240fb586ae82b901a59e67d24acff86f2190b433dc542fe0435aeb", size = 11373541, upload-time = "2026-06-04T16:32:47.007Z" }, + { url = "https://files.pythonhosted.org/packages/62/25/62ea41529ec89f742ea3fed9cb1059c72877ec7cf9b9e99ac9cf3294d1d9/ruff-0.15.16-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:528c68f39a91498a8d50e91ff5985df3d105782bab49cc378e73ac26bff083e8", size = 10737467, upload-time = "2026-06-04T16:32:26.348Z" }, + { url = "https://files.pythonhosted.org/packages/33/d7/609546e6a413c3f216fbf2a50c928f97c80939154f6a0503114094a86191/ruff-0.15.16-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1e15bc8c94513dae2a40cc9ef07c94fdd4ecc9e29dabebeebe170f952322c9e3", size = 11477014, upload-time = "2026-06-04T16:32:44.687Z" }, +] + +[[package]] +name = "setuptools" +version = "82.0.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4f/db/cfac1baf10650ab4d1c111714410d2fbb77ac5a616db26775db562c8fab2/setuptools-82.0.1.tar.gz", hash = "sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9", size = 1152316, upload-time = "2026-03-09T12:47:17.221Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9d/76/f789f7a86709c6b087c5a2f52f911838cad707cc613162401badc665acfe/setuptools-82.0.1-py3-none-any.whl", hash = "sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb", size = 1006223, upload-time = "2026-03-09T12:47:15.026Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.8.4" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/47/2c/0a5f6f8ee0d5589e48c7640213ed5175d52cf540a06725b628cc1a45d6ce/soupsieve-2.8.4.tar.gz", hash = "sha256:e121fd02e975c695e4e9e8774a5ee35d74714b59307868dcc5319ad2d9e3328e", size = 121110, upload-time = "2026-05-24T13:55:57.154Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5e/f5/0c41cb68dcae6b7de4fac4188a3a9589e21fb31df21ea3a2e888db95e6c9/soupsieve-2.8.4-py3-none-any.whl", hash = "sha256:e7e6b0769c8f51ed59acab6e994b00621096cfb1c640a7509295987388fbaf65", size = 37304, upload-time = "2026-05-24T13:55:55.406Z" }, +] + +[[package]] +name = "splunk-soar-sdk" +version = "3.22.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "authlib", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "beautifulsoup4", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "bleach", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "build", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "click", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "distro", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "extract-msg", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "hatchling", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "httpx", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "httpx-retries", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "humanize", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "jinja2", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "packaging", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pip-licenses", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pydantic", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "pyjwt", extra = ["crypto"], marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "requests", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "setuptools", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "toml", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "tqdm", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "typer", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/47/f8/f5de958238eee1b72400d69e74da1b72e4e8f24ee11e31309a4a87909ee3/splunk_soar_sdk-3.22.2.tar.gz", hash = "sha256:e42b97c15c7ff3c8c33ea15ac13918b66a78ed212738bb97c4d274c956c0f74c", size = 669665, upload-time = "2026-06-09T16:56:46.398Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b2/ea/5d32699c7b949bd16f67ef4015e95855edb6a4102f7e9b6b57c877f264ab/splunk_soar_sdk-3.22.2-py3-none-any.whl", hash = "sha256:8a1ea3e38af13fe2302503d8b709873877522e4698b7c423ffd16a318dda55e9", size = 210008, upload-time = "2026-06-09T16:56:47.495Z" }, +] + +[[package]] +name = "toml" +version = "0.10.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/ba/1f744cdc819428fc6b5084ec34d9b30660f6f9daaf70eead706e3203ec3c/toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f", size = 22253, upload-time = "2020-11-01T01:40:22.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/6f/7120676b6d73228c96e17f1f794d8ab046fc910d781c8d151120c3f1569e/toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b", size = 16588, upload-time = "2020-11-01T01:40:20.672Z" }, +] + +[[package]] +name = "tqdm" +version = "4.68.2" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/85/05/0d5260f1f1ca784f4a4a0def9cbe6affe587f5b4025328d446c3d67765f4/tqdm-4.68.2.tar.gz", hash = "sha256:89c230e8dbc67c7615c142487111222f878c77427ea09549960f62389e258add", size = 171923, upload-time = "2026-06-09T13:26:42.539Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/75/1a0392bcc21c44dcdf87b3cf2d137e7829be2c083a1e38d44efca3d57a16/tqdm-4.68.2-py3-none-any.whl", hash = "sha256:d4240441fb5353290b87d6a85968c9decc131a99b8c7faa28269d829de669ede", size = 78578, upload-time = "2026-06-09T13:26:40.731Z" }, +] + +[[package]] +name = "trove-classifiers" +version = "2026.6.1.19" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c2/e3/7ca82ee24c82d344584abd5b8637b3bd056f2900226e8d82fc22f1184b92/trove_classifiers-2026.6.1.19.tar.gz", hash = "sha256:c5132b4b61a829d11cfbd2d72e97f20a45ed6edb95e45c5efdeb5e00836b2745", size = 17059, upload-time = "2026-06-01T19:41:34.649Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/a4/81502f486f01db95bc8320646a8a12511f5e556cb63d5e224d91816605c4/trove_classifiers-2026.6.1.19-py3-none-any.whl", hash = "sha256:ab4c4ec93cc4a4e7815fa759906e05e6bb3f2fbd92ea0f897288c6a43efd15b3", size = 14211, upload-time = "2026-06-01T19:41:33.434Z" }, +] + +[[package]] +name = "typer" +version = "0.26.7" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "annotated-doc", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "rich", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "shellingham", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/ed/ef06584ccdd5c410df0837951ecd7e15d9a6144ea1bd4c73cecab1a89891/typer-0.26.7.tar.gz", hash = "sha256:e314a34c617e419c091b2830dda3ea1f257134ff593061a8f5b9717ab8dddb3a", size = 201709, upload-time = "2026-06-03T07:18:06.843Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/24/25/2201973529af2c954de0bb725323c3aaed6d7f0ceee8f550dec9185df013/typer-0.26.7-py3-none-any.whl", hash = "sha256:5c87cfbc5d34491c5346ebf49c23e18d56ccb863268d3a8d592b26087c2f5e58", size = 122456, upload-time = "2026-06-03T07:18:05.732Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "tzlocal" +version = "5.3.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/2e/c14812d3d4d9cd1773c6be938f89e5735a1f11a9f184ac3639b93cef35d5/tzlocal-5.3.1.tar.gz", hash = "sha256:cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd", size = 30761, upload-time = "2025-03-05T21:17:41.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl", hash = "sha256:eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d", size = 18026, upload-time = "2025-03-05T21:17:39.857Z" }, +] + +[[package]] +name = "urllib3" +version = "2.7.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" }, +] + +[[package]] +name = "virtualenv" +version = "21.4.2" +source = { registry = "https://pypi.python.org/simple" } +dependencies = [ + { name = "distlib", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "filelock", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "platformdirs", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, + { name = "python-discovery", marker = "(platform_machine == 'arm64' and sys_platform == 'darwin') or (platform_machine == 'x86_64' and sys_platform == 'darwin') or (platform_machine == 'aarch64' and sys_platform == 'linux') or (platform_machine == 'x86_64' and sys_platform == 'linux')" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/0d/4e93c8e6d1001a75763f87d8f5ecda8ebc7f4aa2153dddfaf4ae8892821a/virtualenv-21.4.2.tar.gz", hash = "sha256:38e6ee0a555615c0ea9da2ac7e9998fe8dc3b911dd33ad8eaad2020957653b0c", size = 7613326, upload-time = "2026-05-31T17:01:22.827Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/c4/557dc082be035381b85fdb2b74e21d3d21b57750b74f2b47a32f3a639ff9/virtualenv-21.4.2-py3-none-any.whl", hash = "sha256:854210ca524a1a4d0d744734f4acbc721c3ffe163b85bbf5d56d14d5ae2f0fae", size = 7594079, upload-time = "2026-05-31T17:01:20.735Z" }, +] + +[[package]] +name = "watchdog" +version = "6.0.0" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" }, + { url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e8/dbf020b4d98251a9860752a094d09a65e1b436ad181faf929983f697048f/watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2", size = 79078, upload-time = "2024-11-01T14:07:07.547Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.8.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/b4/51fe890511f0f242d07cb1ebe6a5b6db417262b9d2568b460347c57d95cc/wcwidth-0.8.1.tar.gz", hash = "sha256:faf5b4a5366a72dc49cad48cdf21f52bdf63bdda995178e483ba247ff79089b9", size = 1466072, upload-time = "2026-06-08T05:57:23.146Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/6e/95b0e537de1f4d4301f76f944642c6da50d1511cc7b3d64dc418a66c7509/wcwidth-0.8.1-py3-none-any.whl", hash = "sha256:f453740b1e4a4f3291faa37944c555d71056c4da08d59809b307ef4feba695c8", size = 323092, upload-time = "2026-06-08T05:57:21.413Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.python.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] From 566bebed59035dab0edd2608374763ab57d948eb Mon Sep 17 00:00:00 2001 From: Abhay Goel Date: Fri, 19 Jun 2026 10:55:25 +0530 Subject: [PATCH 2/5] Fix: Req.txt --- .gitignore | 3 +++ requirements.txt | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index b91bef9..f35fd3d 100644 --- a/.gitignore +++ b/.gitignore @@ -181,3 +181,6 @@ test_asset.json # makrdown Files CLAUDE.md .claude + + + diff --git a/requirements.txt b/requirements.txt index 326154a..e69de29 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +0,0 @@ -splunk-soar-sdk>=3.22.2 -httpx>=0.28.1 From 9a34886d174ea7b106a51a2489edb608a527b92a Mon Sep 17 00:00:00 2001 From: Abhay Goel Date: Fri, 19 Jun 2026 11:05:01 +0530 Subject: [PATCH 3/5] Fix: Git-Ignore --- .gitignore | 3 --- 1 file changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index f35fd3d..b91bef9 100644 --- a/.gitignore +++ b/.gitignore @@ -181,6 +181,3 @@ test_asset.json # makrdown Files CLAUDE.md .claude - - - From ff7cbc47ac5354c72aa062667ffd6bb9f61042ce Mon Sep 17 00:00:00 2001 From: Abhay Goel Date: Tue, 23 Jun 2026 12:37:06 +0530 Subject: [PATCH 4/5] Fix: Refactored actions --- src/actions/__init__.py | 22 +- src/actions/_helpers.py | 99 + src/actions/add_collaborator.py | 336 ++ src/actions/add_labels.py | 90 + src/actions/add_member.py | 128 + src/actions/create_comment.py | 170 + src/actions/create_issue.py | 486 +++ src/actions/get_issue.py | 447 +++ src/actions/list_comments.py | 163 + src/actions/list_events.py | 2513 +++++++++++++ src/actions/list_issues.py | 373 ++ src/actions/list_organizations.py | 101 + src/actions/list_repos.py | 369 ++ src/actions/list_teams.py | 89 + src/actions/list_users.py | 109 + src/actions/remove_collaborator.py | 131 + src/actions/remove_member.py | 119 + src/actions/update_issue.py | 491 +++ src/app.py | 5348 +--------------------------- 19 files changed, 6281 insertions(+), 5303 deletions(-) create mode 100644 src/actions/_helpers.py create mode 100644 src/actions/add_collaborator.py create mode 100644 src/actions/add_labels.py create mode 100644 src/actions/add_member.py create mode 100644 src/actions/create_comment.py create mode 100644 src/actions/create_issue.py create mode 100644 src/actions/get_issue.py create mode 100644 src/actions/list_comments.py create mode 100644 src/actions/list_events.py create mode 100644 src/actions/list_issues.py create mode 100644 src/actions/list_organizations.py create mode 100644 src/actions/list_repos.py create mode 100644 src/actions/list_teams.py create mode 100644 src/actions/list_users.py create mode 100644 src/actions/remove_collaborator.py create mode 100644 src/actions/remove_member.py create mode 100644 src/actions/update_issue.py diff --git a/src/actions/__init__.py b/src/actions/__init__.py index 5a983c4..fc1126a 100644 --- a/src/actions/__init__.py +++ b/src/actions/__init__.py @@ -11,4 +11,24 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from . import make_req # noqa: F401 — registers @app.make_request() decorator + +from . import ( # noqa: F401 — each import registers @app.action() handlers + _helpers, + add_collaborator, + add_labels, + add_member, + create_comment, + create_issue, + get_issue, + list_comments, + list_events, + list_issues, + list_organizations, + list_repos, + list_teams, + list_users, + make_req, + remove_collaborator, + remove_member, + update_issue, +) diff --git a/src/actions/_helpers.py b/src/actions/_helpers.py new file mode 100644 index 0000000..1b97b84 --- /dev/null +++ b/src/actions/_helpers.py @@ -0,0 +1,99 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.exceptions import ActionFailure + +from ..client import call_github +from ..consts import ( + GITHUB_INVALID_TEAM_ID, + GITHUB_JSON_ID, + GITHUB_JSON_NAME, + GITHUB_JSON_PERMISSIONS, + GITHUB_LIST_TEAMS_ENDPOINT, + GITHUB_ORGANIZATION_REQUIRED_MSG, + GITHUB_PAGINATION_MAX_SIZE, + GITHUB_REPO_ROLE_ADMIN, + GITHUB_REPO_ROLE_PULL, + GITHUB_REPO_ROLE_PUSH, +) + + +def _paginate_all( + endpoint: str, + asset, + extra_params: dict | None = None, + limit: int | None = None, +) -> list: + """Exhaust all pages of a GitHub list endpoint and return every item, up to limit.""" + page, results = 1, [] + while True: + query = { + "per_page": GITHUB_PAGINATION_MAX_SIZE, + "page": page, + **(extra_params or {}), + } + response = call_github("GET", endpoint, asset, params=query) + _check_response(response) + page_items = response.json() + if isinstance(page_items, dict): + page_items = [page_items] + results.extend(page_items) + if limit is not None and len(results) >= limit: + return results[:limit] + if len(page_items) < GITHUB_PAGINATION_MAX_SIZE: + break + page += 1 + return results + + +def _resolve_team_id(team: str, org_name: str | None, asset) -> int: + """Return a numeric team ID from either a numeric string or a team name. + + Mirrors legacy _verify_and_get_team_id: numeric input is used directly; + a name requires org_name and triggers a search across GET /orgs/{org}/teams. + Raises ActionFailure when the team cannot be found. + """ + if team.isdigit(): + return int(team) + + if not org_name: + raise ActionFailure(GITHUB_ORGANIZATION_REQUIRED_MSG) + + teams = _paginate_all(GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=org_name), asset) + for t in teams: + if t.get(GITHUB_JSON_NAME, "").lower() == team.lower(): + return t[GITHUB_JSON_ID] + + raise ActionFailure(GITHUB_INVALID_TEAM_ID.format(team=team)) + + +def _check_response(response) -> None: + """Raise ActionFailure for any non-2xx GitHub API response.""" + if not response.is_success: + raise ActionFailure(f"GitHub API error {response.status_code}: {response.text}") + + +def _if_role_same(collaborator: dict, role: str) -> bool: + """Mirror of legacy _if_role_same: check whether collaborator's current permissions match role.""" + perms = collaborator.get(GITHUB_JSON_PERMISSIONS, {}) + pull = perms.get(GITHUB_REPO_ROLE_PULL, False) + push = perms.get(GITHUB_REPO_ROLE_PUSH, False) + admin = perms.get(GITHUB_REPO_ROLE_ADMIN, False) + if role == GITHUB_REPO_ROLE_PULL: + return pull and not push and not admin + if role == GITHUB_REPO_ROLE_PUSH: + return pull and push and not admin + if role == GITHUB_REPO_ROLE_ADMIN: + return pull and push and admin + return False diff --git a/src/actions/add_collaborator.py b/src/actions/add_collaborator.py new file mode 100644 index 0000000..7c022de --- /dev/null +++ b/src/actions/add_collaborator.py @@ -0,0 +1,336 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT, + GITHUB_COLLABORATOR_ADDED_MSG, + GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG, + GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG, + GITHUB_JSON_COLLABORATOR_ADDED, + GITHUB_JSON_ID, + GITHUB_JSON_INVITEE, + GITHUB_JSON_INVITE_SENT, + GITHUB_JSON_LOGIN, + GITHUB_JSON_PERMISSIONS, + GITHUB_JSON_REPO_ROLE, + GITHUB_LIST_COLLABORATOR_ENDPOINT, + GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT, + GITHUB_PARAM_AFFILIATION, + GITHUB_PARAM_AFFILIATION_DIRECT, + GITHUB_REPO_ROLE_ADMIN, + GITHUB_REPO_ROLE_PULL, + GITHUB_REPO_ROLE_PUSH, + GITHUB_REPO_ROLE_READ, + GITHUB_REPO_ROLE_WRITE, + GITHUB_REQUEST_PATCH, + GITHUB_REQUEST_PUT, + GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT, +) +from ..views import display_view +from ._helpers import _check_response, _if_role_same, _paginate_all + +logger = getLogger() + +class AddCollaboratorParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + column_name="Repo Owner", + ) + repo_name: str = Param( + description="Name of the repository", + primary=True, + cef_types=["github repo"], + column_name="Repo Name", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + role: str | None = Param( + description="Role of the user (Default: Push)", + default="Push", + value_list=["Pull", "Push", "Admin"], + column_name="Role", + ) + override: bool | None = Param( + description="Override existing role of collaborator", + column_name="Override Role", + ) + + +class InviteeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29930053?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29900753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXlNcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class InviterOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/41300385?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41300385]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXlNcjQxMzMxMzg1"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AddCollaboratorOutput(ActionOutput): + collaborator_added: bool = OutputField(column_name="Collaborator Added") + created_at: str | None = OutputField(example_values=["2018-07-25T12:47:00Z"]) + html_url: str | None = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-repo/invitations"], + ) + id: float | None = OutputField(example_values=[10200401]) + invite_sent: bool = OutputField(column_name="Invite Sent") + invitee: InviteeOutput | None = OutputField() + inviter: InviterOutput | None = OutputField() + node_id: str | None = OutputField( + example_values=[ + "MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE=" # pragma: allowlist secret + ] # pragma: allowlist secret + ) + permissions: str | None = OutputField(example_values=["admin"]) + url: str | None = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/user/repository_invitations/10245401"], + ) + + +@app.action( + description="Add user as a collaborator to repo", + action_type="generic", + read_only=False, + verbose="For repo whose owner is an organization, if the user is not a member of the organization, GitHub will send an email invite to the user to join as a collaborator. Otherwise, he will be directly added as a collaborator. For repo whose owner is a user, GitHub will always send an email invite to the user to join as a collaborator. If an invite is already sent to the user, re-invite will not be sent. If the user is already a collaborator, his role will be updated.", + view_handler=display_view, +) +def add_collaborator( + params: AddCollaboratorParams, soar: SOARClient, asset: Asset +) -> AddCollaboratorOutput: + repo = f"{params.repo_owner}/{params.repo_name}" + user = params.user + role = (params.role or "Push").lower() + override = params.override or False + + role_mapping = { + GITHUB_REPO_ROLE_PULL: GITHUB_REPO_ROLE_READ, + GITHUB_REPO_ROLE_PUSH: GITHUB_REPO_ROLE_WRITE, + GITHUB_REPO_ROLE_ADMIN: GITHUB_REPO_ROLE_ADMIN, + } + + # 1. Check direct collaborators + direct_endpoint = GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo) + direct_collaborators = _paginate_all( + direct_endpoint, + asset, + extra_params={GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT}, + ) + + collaborator_exists_diff_role = False + for collaborator in direct_collaborators: + if user.lower() == collaborator.get(GITHUB_JSON_LOGIN, "").lower(): + if _if_role_same(collaborator, role): + return AddCollaboratorOutput( + invite_sent=False, collaborator_added=False + ) + collaborator_exists_diff_role = True + break + else: + # 2. User is not a direct collaborator — check pending invitations + invitations_endpoint = ( + GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format( + repo_full_name=repo + ) + ) + pending = _paginate_all(invitations_endpoint, asset) + + for invitation in pending: + if ( + user.lower() + == invitation.get(GITHUB_JSON_INVITEE, {}) + .get(GITHUB_JSON_LOGIN, "") + .lower() + ): + if ( + role_mapping[role].lower() + == invitation.get(GITHUB_JSON_PERMISSIONS, "").lower() + ): + return AddCollaboratorOutput( + invite_sent=False, collaborator_added=False + ) + if override: + upd_endpoint = ( + GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( + repo_full_name=repo, + invitation_id=invitation[GITHUB_JSON_ID], + ) + ) + _check_response( + call_github( + GITHUB_REQUEST_PATCH.upper(), + upd_endpoint, + asset, + json={GITHUB_JSON_PERMISSIONS: role_mapping[role]}, + ) + ) + return AddCollaboratorOutput( + invite_sent=True, collaborator_added=False + ) + raise ActionFailure(GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG) + + # 3. Collaborator exists with different role — update only if override=True + if collaborator_exists_diff_role and not override: + raise ActionFailure(GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG) + + # 4. PUT /repos/{repo}/collaborators/{user} — adds new collaborator or updates role + add_endpoint = GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format( + repo_full_name=repo, user_name=user + ) + response = call_github( + GITHUB_REQUEST_PUT.upper(), + add_endpoint, + asset, + json={GITHUB_JSON_REPO_ROLE: role}, + ) + _check_response(response) + + body = response.json() if response.content else {} + if body and isinstance(body, dict): + # 201 — invitation sent + soar.set_message( + GITHUB_COLLABORATOR_ADDED_MSG.format( + user_name=user, repo_full_name=repo, repo_role=role + ) + ) + return AddCollaboratorOutput( + **{ + **body, + GITHUB_JSON_INVITE_SENT: True, + GITHUB_JSON_COLLABORATOR_ADDED: False, + } + ) + # 204 — user directly added (org member) + soar.set_message( + GITHUB_COLLABORATOR_ADDED_MSG.format( + user_name=user, repo_full_name=repo, repo_role=role + ) + ) + return AddCollaboratorOutput(invite_sent=False, collaborator_added=True) + diff --git a/src/actions/add_labels.py b/src/actions/add_labels.py new file mode 100644 index 0000000..f2ef058 --- /dev/null +++ b/src/actions/add_labels.py @@ -0,0 +1,90 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ENDPOINT_LABELS, + GITHUB_LABEL_ADDED_MSG, + GITHUB_REQUEST_POST, +) +from ._helpers import _check_response + +logger = getLogger() + +class AddLabelsParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + labels: str = Param( + description="Comma-separated list of labels to add to the issue" + ) + + +class AddLabelsOutput(ActionOutput): + color: str = OutputField(example_values=["ededed"]) + default: bool + id: float = OutputField(example_values=[1454479580]) + name: str = OutputField(example_values=["app-testing"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxNDU0NDc5NTgw"] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing" + ], + ) + + +@app.action( + description="Add label(s) to an issue on the GitHub repository", + action_type="generic", + read_only=False, + verbose="Only users with push access can set labels for the issues.", +) +def add_labels( + params: AddLabelsParams, soar: SOARClient, asset: Asset +) -> list[AddLabelsOutput]: + labels = [label.strip() for label in params.labels.split(",") if label.strip()] + + endpoint = GITHUB_ENDPOINT_LABELS.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github( + GITHUB_REQUEST_POST.upper(), endpoint, asset, json={"labels": labels} + ) + _check_response(response) + soar.set_message( + GITHUB_LABEL_ADDED_MSG.format( + labels=",".join(labels), issue_number=int(params.issue_number) + ) + ) + return [AddLabelsOutput(**label) for label in response.json()] + diff --git a/src/actions/add_member.py b/src/actions/add_member.py new file mode 100644 index 0000000..2928d8e --- /dev/null +++ b/src/actions/add_member.py @@ -0,0 +1,128 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ADD_MEMBER_MSG, + GITHUB_ADD_MEMBER_PENDING_MSG, + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT, + GITHUB_ALREADY_TEAM_MEMBER_MSG, + GITHUB_GET_MEMBERS_ENDPOINT, + GITHUB_JSON_LOGIN, + GITHUB_JSON_ROLE, + GITHUB_REQUEST_PUT, +) +from ..views import display_view +from ._helpers import _check_response, _paginate_all, _resolve_team_id + +logger = getLogger() + +class AddMemberParams(Params): + organization_name: str | None = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + team: str = Param( + description="Team name or team ID", + primary=True, + cef_types=["github team name", "github team id"], + column_name="Team", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + role: str | None = Param( + description="Role of the user (Default: Member)", + default="Member", + value_list=["Member", "Maintainer"], + column_name="Role", + ) + + +class AddMemberOutput(ActionOutput): + state: str = OutputField( + example_values=["active", "pending"], column_name="Membership State" + ) + status: str = OutputField( + example_values=["success", "failed"], column_name="Status" + ) + role: str = OutputField(example_values=["member", "maintainer"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/teams/2830072/memberships/test"], + ) + + +@app.action( + description="Add user in a team", + action_type="generic", + read_only=False, + verbose="Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", + view_handler=display_view, +) +def add_member( + params: AddMemberParams, soar: SOARClient, asset: Asset +) -> AddMemberOutput: + role = (params.role or "Member").lower() + team_id = _resolve_team_id(params.team, params.organization_name, asset) + + members = _paginate_all( + GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id), + asset, + extra_params={GITHUB_JSON_ROLE: role}, + ) + for member in members: + if member.get(GITHUB_JSON_LOGIN, "").lower() == params.user.lower(): + soar.set_message( + GITHUB_ALREADY_TEAM_MEMBER_MSG.format( + user_name=params.user, team=params.team, role=role + ) + ) + return AddMemberOutput(**member, status="success") + + response = call_github( + GITHUB_REQUEST_PUT.upper(), + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( + team_id=team_id, user_name=params.user + ), + asset, + json={GITHUB_JSON_ROLE: role}, + ) + _check_response(response) + data = response.json() + if data.get("state") == "pending": + soar.set_message( + GITHUB_ADD_MEMBER_PENDING_MSG.format( + user_name=params.user, team=params.team, role=role + ) + ) + else: + soar.set_message( + GITHUB_ADD_MEMBER_MSG.format( + user_name=params.user, team=params.team, role=role + ) + ) + return AddMemberOutput(**data, status="success") + diff --git a/src/actions/create_comment.py b/src/actions/create_comment.py new file mode 100644 index 0000000..48758cc --- /dev/null +++ b/src/actions/create_comment.py @@ -0,0 +1,170 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ENDPOINT_COMMENTS, + GITHUB_REQUEST_POST, +) +from ._helpers import _check_response + +logger = getLogger() + +class CreateCommentParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + comment_body: str = Param(description="Contents of a comment to add to the issue") + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class CreateCommentOutput(ActionOutput): + author_association: str = OutputField(example_values=["OWNER"]) + body: str = OutputField(example_values=["I am adding a comment from the app"]) + created_at: str = OutputField(example_values=["2019-07-16T20:11:38Z"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194" + ], + ) + id: float = OutputField(example_values=[511967194]) + issue_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/2"], + ) + node_id: str = OutputField( + example_values=[ + "MDEyOklzc3VlQ29tbWVudDUxMTk2NzE5NA==" # pragma: allowlist secret + ] + ) + updated_at: str = OutputField(example_values=["2019-07-16T20:11:38Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511967194" + ], + ) + user: UserOutput + + +class CreateCommentSummary(ActionOutput): + comment_id: float | None = OutputField(example_values=[1]) + comment_url: str | None = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-repo/issues/1#issuecomment-1"], + ) + + +@app.action( + description="Create a comment for an issue on the GitHub repository", + action_type="generic", + read_only=False, +) +def create_comment( + params: CreateCommentParams, soar: SOARClient, asset: Asset +) -> CreateCommentOutput: + endpoint = GITHUB_ENDPOINT_COMMENTS.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github( + GITHUB_REQUEST_POST.upper(), endpoint, asset, json={"body": params.comment_body} + ) + _check_response(response) + data = response.json() + soar.set_summary( + CreateCommentSummary( + comment_id=data.get("id"), comment_url=data.get("html_url") + ) + ) + return CreateCommentOutput(**data) + diff --git a/src/actions/create_issue.py b/src/actions/create_issue.py new file mode 100644 index 0000000..601ae3d --- /dev/null +++ b/src/actions/create_issue.py @@ -0,0 +1,486 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ENDPOINT_ISSUES, + GITHUB_REQUEST_POST, +) +from ..views import display_view +from ._helpers import _check_response + +logger = getLogger() + +class CreatorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[73419]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class MilestoneOutput(ActionOutput): + closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) + closed_issues: float = OutputField(example_values=[879]) + created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) + creator: CreatorOutput + description: str | None = OutputField(example_values=["Sample description"]) + due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] + ) + id: float = OutputField(example_values=[2117464]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], + ) + node_id: str = OutputField( + example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[10]) + open_issues: float = OutputField(example_values=[15]) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["3.4"]) + updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10"], + ) + + +class ClosedByOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + +class CreateIssueParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_title: str = Param(description="Title of the issue") + issue_body: str | None = Param(description="Contents of the issue") + assignees: str | None = Param( + description="Comma-separated list of logins (usernames) for the users to assign to this issue", + primary=True, + cef_types=["github username"], + ) + labels: str | None = Param( + description="Comma-separated list of labels to associate with this issue" + ) + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["ededed"]) + default: bool + id: float = OutputField(example_values=[1454469929]) + name: str = OutputField(example_values=["test"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxNDU0NDY5OTI5"] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/labels/test" + ], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class CreateIssueOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField( + example_values=["This is what the body looks like when testing from the app"] + ) + closed_at: str | None + closed_by: ClosedByOutput | None + comments: float = OutputField(example_values=[0]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments" + ], + ) + created_at: str = OutputField(example_values=["2019-07-16T20:07:26Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/2/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/repoowner/TestingAPI/issues/2"], + ) + id: float = OutputField(example_values=[468840014]) + labels: list[LabelsOutput] + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField( + example_values=["MDU6SXNzdWU0Njg4NDAwMTQ="] # pragma: allowlist secret + ) + number: float = OutputField(cef_types=["github issue id"], example_values=[2]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI"], + ) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["I am testing from the app"]) + updated_at: str = OutputField(example_values=["2019-07-16T20:07:27Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/2"], + ) + user: UserOutput + + +class CreateIssueSummary(ActionOutput): + issue_number: float | None = OutputField(example_values=[1]) + issue_url: str | None = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] + ) + + +@app.action( + description="Create an issue for the GitHub repository", + action_type="generic", + read_only=False, + verbose="Only users with push access can set assignees/labels for the issues. \nAssignees/labels are silently dropped otherwise.", + view_handler=display_view, +) +def create_issue( + params: CreateIssueParams, soar: SOARClient, asset: Asset +) -> CreateIssueOutput: + assignees = [x.strip() for x in (params.assignees or "").split(",") if x.strip()] + labels = [x.strip() for x in (params.labels or "").split(",") if x.strip()] + body = { + "title": params.issue_title, + "body": params.issue_body or "", + "assignees": assignees, + "labels": labels, + } + endpoint = GITHUB_ENDPOINT_ISSUES.format( + repo_owner=params.repo_owner, repo_name=params.repo_name + ) + response = call_github(GITHUB_REQUEST_POST.upper(), endpoint, asset, json=body) + _check_response(response) + data = response.json() + soar.set_summary( + CreateIssueSummary( + issue_number=data.get("number"), issue_url=data.get("html_url") + ) + ) + return CreateIssueOutput(**data) + diff --git a/src/actions/get_issue.py b/src/actions/get_issue.py new file mode 100644 index 0000000..38133ec --- /dev/null +++ b/src/actions/get_issue.py @@ -0,0 +1,447 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ENDPOINT_GET_ISSUE, +) +from ._helpers import _check_response + +logger = getLogger() + +class CreatorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[73419]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class MilestoneOutput(ActionOutput): + closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) + closed_issues: float = OutputField(example_values=[879]) + created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) + creator: CreatorOutput + description: str | None = OutputField(example_values=["Sample description"]) + due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] + ) + id: float = OutputField(example_values=[2117464]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], + ) + node_id: str = OutputField( + example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[10]) + open_issues: float = OutputField(example_values=[15]) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["3.4"]) + updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10"], + ) + + +class GetIssueParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[11890709]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class ClosedByOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class GetIssueOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField( + example_values=["This is the body I believe of the issue"] + ) + closed_at: str | None + closed_by: ClosedByOutput | None + comments: float = OutputField(example_values=[1]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments" + ], + ) + created_at: str = OutputField(example_values=["2019-07-16T19:52:15Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/1/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/repoowner/TestingAPI/issues/1"], + ) + id: float = OutputField(example_values=[468834090]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField( + example_values=["MDU6SXNzdWU0Njg4MzQwOTA="] # pragma: allowlist secret + ) + number: float = OutputField(cef_types=["github issue id"], example_values=[1]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI"], + ) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["This is a Test Issue"]) + updated_at: str = OutputField(example_values=["2019-07-16T20:00:23Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/1"], + ) + user: UserOutput + + +class GetIssueSummary(ActionOutput): + issue_number: float | None = OutputField(example_values=[1]) + issue_url: str | None = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] + ) + + +@app.action( + description="Retrieve an issue for the GitHub repository", action_type="investigate" +) +def get_issue(params: GetIssueParams, soar: SOARClient, asset: Asset) -> GetIssueOutput: + endpoint = GITHUB_ENDPOINT_GET_ISSUE.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github("GET", endpoint, asset) + _check_response(response) + data = response.json() + soar.set_summary( + GetIssueSummary(issue_number=data.get("number"), issue_url=data.get("html_url")) + ) + return GetIssueOutput(**data) + diff --git a/src/actions/list_comments.py b/src/actions/list_comments.py new file mode 100644 index 0000000..06fcbad --- /dev/null +++ b/src/actions/list_comments.py @@ -0,0 +1,163 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..consts import ( + GITHUB_ENDPOINT_COMMENTS, +) +from ._helpers import _paginate_all + +logger = getLogger() + +class ListCommentsParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + limit: float | None = Param(description="Maximum number of comments to be fetched") + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/52245234"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/following{/other_user}" + ], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/repoowner"] + ) + id: float = OutputField(example_values=[99999999]) + login: str = OutputField( + cef_types=["github username"], example_values=["repoowner"] + ) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/orgs"], + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/users/repoowner/starred{/owner}{/repo}" + ], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/repoowner/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] + ) + + +class ListCommentsOutput(ActionOutput): + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField( + example_values=["I am writing a comment to this issue"] + ) + created_at: str = OutputField(example_values=["2019-07-16T19:52:27Z"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/repoowner/TestingAPI/issues/1#issuecomment-511961016" + ], + ) + id: float = OutputField(example_values=[511961016]) + issue_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/1"], + ) + node_id: str = OutputField( + example_values=[ + "MDEyOklzc3VlQ29tbWVudDUxMTk2MTAxNg==" # pragma: allowlist secret + ] + ) + updated_at: str = OutputField(example_values=["2019-07-16T19:52:27Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511961016" + ], + ) + user: UserOutput + + +class ListCommentsSummary(ActionOutput): + total_comments: int = OutputField(example_values=[10]) + + +@app.action( + description="List comments for an issue on the GitHub repository", + action_type="investigate", +) +def list_comments( + params: ListCommentsParams, soar: SOARClient, asset: Asset +) -> list[ListCommentsOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_ENDPOINT_COMMENTS.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + output = [ + ListCommentsOutput(**c) for c in _paginate_all(endpoint, asset, limit=limit) + ] + soar.set_summary(ListCommentsSummary(total_comments=len(output))) + return output + diff --git a/src/actions/list_events.py b/src/actions/list_events.py new file mode 100644 index 0000000..e33f483 --- /dev/null +++ b/src/actions/list_events.py @@ -0,0 +1,2513 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_EVENTS_ENDPOINT, + GITHUB_PAGINATION_MAX_SIZE, +) +from ..views import display_view +from ._helpers import _check_response + +logger = getLogger() + +class ListEventsParams(Params): + username: str = Param( + description="Username", primary=True, cef_types=["github username"] + ) + + +class ActorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars.githubusercontent.com/u/41301719?"], + ) + display_login: str | None = OutputField( + cef_types=["github username"], example_values=["test"] + ) + gravatar_id: str | None + id: float = OutputField(example_values=[41301719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class OrgOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars.githubusercontent.com/u/41301665?"], + ) + gravatar_id: str | None + id: float = OutputField(example_values=[41301665]) + login: str = OutputField( + cef_types=["github organization name"], example_values=["test"] + ) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test"] + ) + + +class DismisserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/1032411?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[1032411]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjEwMzI0MTE="] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/octocat"] + ) + + +class AlertOutput(ActionOutput): + affected_package_name: str = OutputField(example_values=["many_versioned_gem"]) + affected_range: str = OutputField(example_values=["0.2.0"]) + dismiss_reason: str | None = OutputField( + example_values=["No bandwidth to fix this"] + ) + dismissed_at: str | None = OutputField(example_values=["2017-10-25T00:00:00+00:00"]) + dismisser: DismisserOutput | None + external_identifier: str = OutputField(example_values=["CVE-2018-3728"]) + external_reference: str = OutputField( + cef_types=["url"], + example_values=["https://nvd.nist.gov/vuln/detail/CVE-2018-3728"], + ) + fixed_in: str | None = OutputField(example_values=["0.2.5"]) + id: float = OutputField(example_values=[7649605]) + + +class BlockedUserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars2.githubusercontent.com/u/39652351?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[406494157]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjM5NjUyMzUx"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class BodyOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class ColorOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class DescriptionOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class DueOnOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class NameOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class NoteOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class PermissionOutput(ActionOutput): + from_: str = OutputField(example_values=["write"], alias="from") + + +class PrivacyOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class FromOutput(ActionOutput): + admin: bool + pull: bool + push: bool + + +class ChangesRepositoryPermissionsOutput(ActionOutput): + from_: FromOutput = OutputField(alias="from") + + +class ChangesRepositoryOutput(ActionOutput): + permissions: ChangesRepositoryPermissionsOutput | None = None + + +class PermissionsOutput(ActionOutput): + contents: str = OutputField(example_values=["read"]) + issues: str = OutputField(example_values=["write"]) + metadata: str = OutputField(example_values=["read"]) + + +class RepositoryOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + id: float = OutputField(example_values=[135493233]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: "LicenseOutput | None" + master_branch: str | None = OutputField(example_values=["master"]) + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: "OwnerOutput" + private: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers: float | None = OutputField(example_values=[1]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class TitleOutput(ActionOutput): + from_: str = OutputField(alias="from") + + +class ChangesOutput(ActionOutput): + body: BodyOutput + color: ColorOutput + description: DescriptionOutput + due_on: DueOnOutput + name: NameOutput + note: NoteOutput + permission: PermissionOutput + privacy: PrivacyOutput + repository: ChangesRepositoryOutput | None = None + title: TitleOutput + + +class OwnerOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AppOutput(ActionOutput): + created_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + description: str | None + external_url: str = OutputField( + cef_types=["url"], example_values=["http://super-duper.example.com"] + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["http://github.com/apps/super-duper"] + ) + id: float = OutputField(example_values=[2]) + name: str = OutputField(example_values=["Super Duper"]) + node_id: str = OutputField( + example_values=["MDExOkludGVncmF0aW9uMQ="] # pragma: allowlist secret + ) + owner: OwnerOutput + updated_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + + +class AuthorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/1?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[1]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjE="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class CommitterOutput(ActionOutput): + email: str = OutputField(cef_types=["email"], example_values=["test@user.com"]) + name: str = OutputField(cef_types=["github username"], example_values=["test"]) + + +class HeadCommitOutput(ActionOutput): + author: AuthorOutput + committer: CommitterOutput + id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + message: str = OutputField(example_values=["Sample message"]) + timestamp: str = OutputField(example_values=["2018-05-04T01:14:46Z"]) + tree_id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + + +class CommentsOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/issues/27999/comments"], + ) + + +class CommitsOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27999/commits"], + ) + + +class HtmlOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" + ], + ) + + +class IssueOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/issues/27999"], + ) + + +class ReviewCommentOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test/pulls/comments{/number}" + ], + ) + + +class ReviewCommentsOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27999/comments"], + ) + + +class SelfOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27999"], + ) + + +class StatusesOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" + ], + ) + + +class LinksOutput(ActionOutput): + html: HtmlOutput + pull_request: "PullRequestOutput" + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class LicenseOutput(ActionOutput): + key: str = OutputField(example_values=["mit"]) + name: str = OutputField(example_values=["MIT License"]) + node_id: str = OutputField(example_values=["MDc6TGljZW5zZTEz"]) + spdx_id: str = OutputField(example_values=["MIT"]) + url: str | None = OutputField( + cef_types=["url"], example_values=["https://api.github.com/licenses/mit"] + ) + + +class RepoOutput(ActionOutput): + id: float = OutputField(example_values=[141531062]) + name: str = OutputField(cef_types=["github repo"], example_values=["test-repo"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/1032411?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[1032411]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjEwMzI0MTE="] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class BaseOutput(ActionOutput): + label: str = OutputField(example_values=["test:2.8"]) + ref: str = OutputField(example_values=["2.8"]) + repo: RepoOutput + sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "08a49bc5302de373bdb44e5c189133a7d5d5f12b" # pragma: allowlist secret + ], + ) + user: UserOutput + + +class HeadOutput(ActionOutput): + label: str = OutputField(example_values=["test:uuid-translations"]) + ref: str = OutputField(example_values=["uuid-translations"]) + repo: RepoOutput + sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "ee780f3c664f8e2846aba087c5e9653a92c64252" # pragma: allowlist secret + ], + ) + user: UserOutput + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["e10c02"]) + default: bool + id: float = OutputField(example_values=[100079]) + name: str = OutputField(example_values=["Bug"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxMDAwNzk="] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/labels/Bug"], + ) + + +class MergedByOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/47313?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[47313]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjQ3MzEz"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class CreatorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[73419]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class MilestoneOutput(ActionOutput): + closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) + closed_issues: float = OutputField(example_values=[879]) + created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) + creator: CreatorOutput + description: str | None = OutputField(example_values=["Sample description"]) + due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] + ) + id: float = OutputField(example_values=[2117464]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], + ) + node_id: str = OutputField( + example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[10]) + open_issues: float = OutputField(example_values=[15]) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["3.4"]) + updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10"], + ) + + +class RequestedReviewersOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars2.githubusercontent.com/u/57224?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[57224]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjU3MjI0"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class OrganizationOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/41309665?v=4"], + ) + created_at: str = OutputField(example_values=["2018-07-16T23:02:38Z"]) + description: str | None + events_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/events"] + ) + followers: float = OutputField(example_values=[3]) + following: float = OutputField(example_values=[3]) + has_organization_projects: bool + has_repository_projects: bool + hooks_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/hooks"] + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41309665]) + issues_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/issues"] + ) + login: str = OutputField( + cef_types=["github organization name"], example_values=["test"] + ) + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/members{/member}"], + ) + node_id: str = OutputField( + example_values=["MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1"] # pragma: allowlist secret + ) + public_gists: float = OutputField(example_values=[3]) + public_members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/public_members{/member}"], + ) + public_repos: float = OutputField(example_values=[3]) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/repos"] + ) + type: str = OutputField(example_values=["Organization"]) + updated_at: str = OutputField(example_values=["2018-07-16T23:02:38Z"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test"] + ) + + +class RequestedTeamsOutput(ActionOutput): + created_at: str = OutputField(example_values=["2018-07-16T23:08:17Z"]) + description: str | None = OutputField(example_values=["Everybody but Tony"]) + id: float = OutputField(example_values=[2826794]) + members_count: float = OutputField(example_values=[2]) + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/teams/2826794/members{/member}"], + ) + name: str = OutputField(example_values=["not-tony-team"]) + node_id: str = OutputField( + example_values=["MDQ6VGVhbTI4MjY3OTQ="] # pragma: allowlist secret + ) + organization: OrganizationOutput + permission: str = OutputField(example_values=["pull"]) + privacy: str = OutputField(example_values=["closed"]) + repos_count: float = OutputField(example_values=[2]) + repositories_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/test/repos"] + ) + slug: str = OutputField(example_values=["not-tony-team"]) + updated_at: str = OutputField(example_values=["2018-07-16T23:08:17Z"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/2826794"] + ) + + +class PullRequestsOutput(ActionOutput): + diff_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/twigphp/Twig/pull/2721.diff"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/twigphp/Twig/pull/2721"] + ) + patch_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/twigphp/Twig/pull/2721.patch"], + ) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/twigphp/Twig/pulls/2721"], + ) + + +class CheckSuiteOutput(ActionOutput): + after: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + app: AppOutput + before: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "146e867f55c26428e5f9fade55a9bbf5e95a7912" # pragma: allowlist secret + ], + ) + check_runs_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" + ], + ) + conclusion: str | None = OutputField(example_values=["neutral"]) + created_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + head_branch: str | None = OutputField(example_values=["master"]) + head_commit: HeadCommitOutput + head_sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret + ], + ) + id: float = OutputField(example_values=[5]) + latest_check_runs_count: float = OutputField(example_values=[1]) + latest_check_runs_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" + ], + ) + pull_requests: list[PullRequestsOutput] + status: str = OutputField(example_values=["completed"]) + updated_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) + + +class OutputOutput(ActionOutput): + annotations_count: float = OutputField(example_values=[12]) + annotations_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/check-runs/4/annotations" + ], + ) + summary: str | None = OutputField(example_values=["It's all good"]) + text: str | None = OutputField(example_values=["Sample text"]) + title: str | None = OutputField(example_values=["Report"]) + + +class CheckRunOutput(ActionOutput): + pull_requests: list[PullRequestsOutput] + + +class PullRequestOutput(ActionOutput): + href: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls/1"], + ) + + +class CommentOutput(ActionOutput): + links: LinksOutput | None = None + author_association: str = OutputField(example_values=["CONTRIBUTOR"]) + body: str = OutputField(example_values=["LGTM. Can you add some tests?"]) + commit_id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "329bd507c1123c1ab24e58b78fa8d32bd1c70639" # pragma: allowlist secret + ], + ) + created_at: str = OutputField(example_values=["2018-07-20T05:36:22Z"]) + diff_hunk: str = OutputField(example_values=["Sample"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/twigphp/Twig/pull/2721#issuecomment-406494157" + ], + ) + id: float = OutputField(example_values=[406494157]) + in_reply_to_id: float | None = OutputField(example_values=[203123149]) + issue_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/twigphp/Twig/issues/2721"], + ) + line: str | None + node_id: str = OutputField( + example_values=[ + "MDEyOklzc3VlQ29tbWVudDQwNjQ5NDE1Nw==" # pragma: allowlist secret + ] + ) + original_commit_id: str = OutputField( + cef_types=["sha1"], + example_values=[ + "329bd507c1123c1ab24e58b78fa8d32bd1c70639" # pragma: allowlist secret + ], + ) + original_position: float = OutputField(example_values=[13]) + path: str = OutputField(example_values=["src/test/Component/Finder/Finder.php"]) + position: float | None = OutputField(example_values=[13]) + pull_request_review_id: float | None = OutputField(example_values=[138091767]) + pull_request_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/pulls/27967"], + ) + updated_at: str = OutputField(example_values=["2018-07-20T05:36:22Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/twigphp/Twig/issues/comments/406494157" + ], + ) + user: UserOutput + + +class ForkeeOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-proj.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/contributors"], + ) + created_at: str = OutputField(example_values=["2018-07-20T06:03:13Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-proj.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-proj"] + ) + id: float = OutputField(example_values=[141670240]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/labels{/name}"], + ) + language: str | None = OutputField(example_values=["PHP"]) + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-proj"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxNDE2NzAyNDA="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + private: bool + public: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-07-20T06:02:31Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-proj.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-proj"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-07-20T06:02:33Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-proj"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class AccountOutput(ActionOutput): + id: float = OutputField(example_values=[18404719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + organization_billing_email: str = OutputField( + cef_types=["email"], example_values=["username@email.com"] + ) + type: str = OutputField(example_values=["Organization"]) + + +class InstallationOutput(ActionOutput): + access_tokens_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/installations/2/access_tokens"], + ) + account: AccountOutput + app_id: float = OutputField(example_values=[5725]) + created_at: float = OutputField(example_values=[1525109898]) + events: str = OutputField(example_values=["User"]) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/settings/installations/2"], + ) + id: float = OutputField(example_values=[2]) + permissions: PermissionsOutput + repositories_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/installation/repositories"], + ) + repository_selection: str = OutputField(example_values=["selected"]) + single_file_name: str | None = OutputField( + cef_types=["file name"], example_values=["config.yml"] + ) + target_id: float = OutputField(example_values=[3880403]) + target_type: str = OutputField(example_values=["User"]) + updated_at: float = OutputField(example_values=[1525109899]) + + +class PlanOutput(ActionOutput): + bullets: str = OutputField(example_values=["Is Basic"]) + description: str = OutputField(example_values=["Basic Plan"]) + has_free_trial: bool + id: float = OutputField(example_values=[435]) + monthly_price_in_cents: float = OutputField(example_values=[1000]) + name: str = OutputField(example_values=["Basic Plan"]) + price_model: str = OutputField(example_values=["per-unit"]) + unit_name: str = OutputField(example_values=["seat"]) + yearly_price_in_cents: float = OutputField(example_values=[10000]) + + +class MarketplacePurchaseOutput(ActionOutput): + account: AccountOutput + billing_cycle: str = OutputField(example_values=["monthly"]) + free_trial_ends_on: str | None + next_billing_date: str = OutputField(example_values=["2017-11-05T00:00:00+00:00"]) + on_free_trial: bool + plan: PlanOutput + unit_count: float = OutputField(example_values=[1]) + + +class MemberOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/41301719?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41301719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjQxMzA5NzE5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class PagesOutput(ActionOutput): + action: str = OutputField(example_values=["created"]) + creator: CreatorOutput + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-proj/wiki/Home"], + ) + page_name: str = OutputField(example_values=["Home"]) + sha: str = OutputField( + cef_types=["sha1"], + example_values=[ + "75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6" # pragma: allowlist secret + ], + ) + summary: str | None + title: str = OutputField(example_values=["Home"]) + + +class ProjectOutput(ActionOutput): + body: str | None = OutputField(example_values=["Project tasks for a trip to Space"]) + columns_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/1547122/columns"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:51Z"]) + creator: CreatorOutput + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/test/test-repo/projects/1"], + ) + id: float = OutputField(example_values=[1547122]) + name: str = OutputField(example_values=["Space 2.0"]) + node_id: str = OutputField( + example_values=["MDc6UHJvamVjdDE1NDcxMjI="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[1]) + owner_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + state: str = OutputField(example_values=["open"]) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:51Z"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/projects/1547122"] + ) + + +class ProjectCardOutput(ActionOutput): + column_id: float = OutputField(example_values=[2803722]) + column_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/2803722"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + creator: CreatorOutput + id: float = OutputField(example_values=[10189042]) + node_id: str = OutputField( + example_values=["MDExOlByb2plY3RDYXJkMTAxODkwNDI="] # pragma: allowlist secret + ) + note: str | None = OutputField( + example_values=["Work that can be completed in one hour or less"] + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/cards/10189042"], + ) + + +class ProjectColumnOutput(ActionOutput): + cards_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/2803722/cards"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + id: float = OutputField(example_values=[2803722]) + name: str = OutputField(example_values=["Small bugfixes"]) + node_id: str = OutputField( + example_values=["MDEzOlByb2plY3RDb2x1bW4yODAzNzIy"] # pragma: allowlist secret + ) + project_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/projects/1547122"] + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/projects/columns/2803722"], + ) + + +class UploaderOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars1.githubusercontent.com/u/41309719?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41309719]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjQxMzA5NzE5"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class AssetsOutput(ActionOutput): + browser_download_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-proj/releases/download/1.1.1.1.1/phapp_code42.tgz" + ], + ) + content_type: str = OutputField(example_values=["application/x-compressed"]) + created_at: str = OutputField(example_values=["2018-07-20T13:12:10Z"]) + download_count: float = OutputField(example_values=[0]) + id: float = OutputField(example_values=[7946908]) + label: str | None + name: str = OutputField(example_values=["phapp_code42.tgz"]) + node_id: str = OutputField( + example_values=["MDEyOlJlbGVhc2VBc3NldDc5NDY5MDg="] # pragma: allowlist secret + ) + size: float = OutputField(example_values=[91097]) + state: str = OutputField(example_values=["uploaded"]) + updated_at: str = OutputField(example_values=["2018-07-20T13:12:16Z"]) + uploader: UploaderOutput + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-proj/releases/assets/8946908" + ], + ) + + +class ReleaseOutput(ActionOutput): + assets: list[AssetsOutput] + assets_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/toml-lang/toml/releases/11865985/assets" + ], + ) + author: AuthorOutput + body: str | None = OutputField(example_values=["Sample body"]) + created_at: str = OutputField(example_values=["2018-07-10T21:44:12Z"]) + draft: bool + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/toml-lang/toml/releases/tag/v0.5.0"], + ) + id: float = OutputField(example_values=[11865985]) + name: str | None = OutputField(example_values=["v0.5.0"]) + node_id: str = OutputField( + example_values=["MDc6UmVsZWFzZTExODY1OTg1"] # pragma: allowlist secret + ) + prerelease: bool + published_at: str = OutputField(example_values=["2018-07-10T21:58:13Z"]) + tag_name: str = OutputField(example_values=["v0.5.0"]) + tarball_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/toml-lang/toml/tarball/v0.5.0"], + ) + target_commitish: str = OutputField(example_values=["master"]) + upload_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://uploads.github.com/repos/toml-lang/toml/releases/11865985/assets{?name,label}" + ], + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/toml-lang/toml/releases/11865985" + ], + ) + zipball_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/toml-lang/toml/zipball/v0.5.0"], + ) + + +class RepositoriesAddedOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + id: float = OutputField(example_values=[135493233]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + private: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class RepositoriesRemovedOutput(ActionOutput): + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + description: str | None + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + full_name: str = OutputField(example_values=["test/test-repo"]) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField( + cef_types=["url"], example_values=["https://test.com"] + ) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + id: float = OutputField(example_values=[135493233]) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + private: bool + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + +class ReviewOutput(ActionOutput): + links: LinksOutput | None = None + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None + commit_id: str = OutputField( + example_values=[ + "34c5c7793cb3b279e22454cb6750c80560547b3a" # pragma: allowlist secret + ] # pragma: allowlist secret + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" + ], + ) + id: float = OutputField(example_values=[124575911]) + node_id: str = OutputField( + example_values=[ + "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MTI0NTc1OTEx" # pragma: allowlist secret + ] # pragma: allowlist secret + ) + pull_request_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls/1"], + ) + state: str = OutputField(example_values=["commented"]) + submitted_at: str = OutputField(example_values=["2018-05-30T20:18:31Z"]) + user: UserOutput + + +class SenderOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars2.githubusercontent.com/u/39652351?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[406494157]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjM5NjUyMzUx"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class PayloadOutput(ActionOutput): + action: str | None = OutputField(example_values=["added"]) + after: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "286996c9d9bf535e9e2de7cb3bb11a7a67dc1c61" # pragma: allowlist secret + ], + ) + alert: AlertOutput | None = None + base_ref: str | None = None + before: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "286996c9d9bf535e9ebde7cb3bb11a7a67dcbc6b" # pragma: allowlist secret + ], + ) + blocked_user: BlockedUserOutput | None = None + changes: ChangesOutput | None = None + check_run: CheckRunOutput | None = None + check_suite: CheckSuiteOutput | None = None + comment: CommentOutput | None = None + commits: list[CommitsOutput] | None = None + compare: str | None = OutputField( + cef_types=["url"], + example_values=[ + "https://github.com/test/test-repo/compare/a10867b14bb7...000000000000" + ], + ) + created: bool | None = None + deleted: bool | None = None + description: str | None = OutputField(example_values=["test-repo-Description"]) + distinct_size: float | None = OutputField(example_values=[100]) + effective_date: str | None = OutputField( + example_values=["2017-10-25T00:00:00+00:00"] + ) + forced: bool | None = None + forkee: ForkeeOutput | None = None + head: str | None = OutputField( + cef_types=["sha1"], + example_values=[ + "9bfa971bc5662a6f90408b58a7b2453d7dae4f83" # pragma: allowlist secret + ], + ) + head_commit: HeadCommitOutput | None = None + installation: InstallationOutput | None = None + issue: IssueOutput | None = None + marketplace_purchase: MarketplacePurchaseOutput | None = None + master_branch: str | None = OutputField(example_values=["master"]) + member: MemberOutput | None = None + number: float | None = OutputField(example_values=[27999]) + organization: OrganizationOutput | None = None + pages: list[PagesOutput] | None = None + project: ProjectOutput | None = None + project_card: ProjectCardOutput | None = None + project_column: ProjectColumnOutput | None = None + pull_request: PullRequestOutput | None = None + push_id: float | None = OutputField(example_values=[2731668591]) + pusher_type: str | None = OutputField(example_values=["user"]) + ref: str | None = OutputField(example_values=["refs/heads/2.8"]) + ref_type: str | None = OutputField(example_values=["repository"]) + release: ReleaseOutput | None = None + repositories_added: list[RepositoriesAddedOutput] | None = None + repositories_removed: list[RepositoriesRemovedOutput] | None = None + repository: RepositoryOutput | None = None + repository_selection: str | None = OutputField(example_values=["selected"]) + review: ReviewOutput | None = None + sender: SenderOutput | None = None + size: float | None = OutputField(example_values=[2]) + + +class ListEventsOutput(ActionOutput): + actor: ActorOutput + created_at: str = OutputField(example_values=["2018-07-19T06:26:57Z"]) + id: str = OutputField(example_values=["7987124418"]) + org: OrgOutput | None + payload: PayloadOutput + public: bool + repo: RepoOutput + type: str = OutputField(example_values=["CreateEvent"]) + + +class ListEventsSummary(ActionOutput): + total_events: int = OutputField(example_values=[10]) + + +@app.action( + description="List events performed by a user", + action_type="investigate", + verbose="Action will list a maximum of 300 events. Only events from the past 90 days will be listed.", + view_handler=display_view, +) +def list_events( + params: ListEventsParams, soar: SOARClient, asset: Asset +) -> list[ListEventsOutput]: + endpoint = GITHUB_EVENTS_ENDPOINT.format(username=params.username) + results = [] + page = 1 + + while True: + response = call_github( + "GET", + endpoint, + asset, + params={"per_page": GITHUB_PAGINATION_MAX_SIZE, "page": page}, + ) + _check_response(response) + page_items = response.json() + results.extend(page_items) + + if len(page_items) < GITHUB_PAGINATION_MAX_SIZE or page >= 3: + break + page += 1 + + output = [ListEventsOutput(**item) for item in results] + soar.set_summary(ListEventsSummary(total_events=len(output))) + return output + +RepositoryOutput.model_rebuild() +LinksOutput.model_rebuild() diff --git a/src/actions/list_issues.py b/src/actions/list_issues.py new file mode 100644 index 0000000..abbc675 --- /dev/null +++ b/src/actions/list_issues.py @@ -0,0 +1,373 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..consts import ( + GITHUB_ENDPOINT_ISSUES, +) +from ..views import display_view +from ._helpers import _paginate_all + +logger = getLogger() + +class CreatorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[73419]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class MilestoneOutput(ActionOutput): + closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) + closed_issues: float = OutputField(example_values=[879]) + created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) + creator: CreatorOutput + description: str | None = OutputField(example_values=["Sample description"]) + due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] + ) + id: float = OutputField(example_values=[2117464]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], + ) + node_id: str = OutputField( + example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[10]) + open_issues: float = OutputField(example_values=[15]) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["3.4"]) + updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10"], + ) + + +class ListIssuesParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + limit: float | None = Param(description="Maximum number of issues to be fetched") + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/id"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/username"] + ) + id: float = OutputField(example_values=[7614131]) + login: str = OutputField( + cef_types=["github username"], example_values=["testusername"] + ) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/7614131?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/username"] + ) + id: float = OutputField(example_values=[7614131]) + login: str = OutputField(cef_types=["github username"], example_values=["username"]) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username"] + ) + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["a2eeef"]) + default: bool + id: float = OutputField(example_values=[864962287]) + name: str = OutputField(example_values=["enhancement"]) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/owner/repo/labels/enhancement"], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/avatarid"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/username"] + ) + id: float = OutputField(example_values=[99999]) + login: str = OutputField(cef_types=["github username"], example_values=["username"]) + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/username/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/username"] + ) + + +class ListIssuesOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["COLLABORATOR"]) + body: str | None = OutputField(example_values=["Test issue body right here"]) + closed_at: str | None + comments: float = OutputField(example_values=[0]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/username/testrepo/issues/4/comments" + ], + ) + created_at: str = OutputField(example_values=["2018-04-23T01:15:25Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/username/testrepo/issues/4/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/username/testrepo/issues/4"], + ) + id: float = OutputField(example_values=[316631564]) + labels: list[LabelsOutput] + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/username/testrepo/issues/4/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) + number: float = OutputField(cef_types=["github issue id"], example_values=[4]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/username/testrepo"], + ) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["Test issue title here"]) + updated_at: str = OutputField(example_values=["2018-04-23T01:15:25Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/username/testrepo/issues/4"], + ) + user: UserOutput + + +class ListIssuesSummary(ActionOutput): + total_issues: int = OutputField(example_values=[10]) + + +@app.action( + description="Get a list of issues for the GitHub repository", + action_type="investigate", + view_handler=display_view, +) +def list_issues( + params: ListIssuesParams, soar: SOARClient, asset: Asset +) -> list[ListIssuesOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_ENDPOINT_ISSUES.format( + repo_owner=params.repo_owner, repo_name=params.repo_name + ) + output = [ + ListIssuesOutput(**i) for i in _paginate_all(endpoint, asset, limit=limit) + ] + soar.set_summary(ListIssuesSummary(total_issues=len(output))) + return output + diff --git a/src/actions/list_organizations.py b/src/actions/list_organizations.py new file mode 100644 index 0000000..a0dcc0d --- /dev/null +++ b/src/actions/list_organizations.py @@ -0,0 +1,101 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..consts import ( + GITHUB_LIST_ORGANIZATIONS_ENDPOINT, +) +from ..views import display_view +from ._helpers import _paginate_all + +logger = getLogger() + +class ListOrganizationsParams(Params): + limit: float | None = Param( + description="Maximum number of organizations to be fetched" + ) + + +class ListOrganizationsOutput(ActionOutput): + # Column fields in widget display order + id: float = OutputField(example_values=[41301665], column_name="Organization Id") + login: str = OutputField( + cef_types=["github organization name"], + example_values=["test"], + column_name="Organization Name", + ) + description: str | None = OutputField(column_name="Organization Description") + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test"], + column_name="Organization Url", + ) + # Non-column fields + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/41301665?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/events"] + ) + hooks_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/hooks"] + ) + issues_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/issues"] + ) + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/members{/member}"], + ) + node_id: str = OutputField( + example_values=["MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1"] # pragma: allowlist secret + ) + public_members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/orgs/test/public_members{/member}"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/orgs/test/repos"] + ) + + +class ListOrganizationsSummary(ActionOutput): + total_organizations: int = OutputField(example_values=[10]) + + +@app.action( + description="List all organizations", + action_type="investigate", + view_handler=display_view, +) +def list_organizations( + params: ListOrganizationsParams, soar: SOARClient, asset: Asset +) -> list[ListOrganizationsOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + output = [ + ListOrganizationsOutput(**o) + for o in _paginate_all(GITHUB_LIST_ORGANIZATIONS_ENDPOINT, asset, limit=limit) + ] + soar.set_summary(ListOrganizationsSummary(total_organizations=len(output))) + return output + diff --git a/src/actions/list_repos.py b/src/actions/list_repos.py new file mode 100644 index 0000000..f585e16 --- /dev/null +++ b/src/actions/list_repos.py @@ -0,0 +1,369 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from pydantic import model_validator +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..consts import ( + GITHUB_LIST_REPOS_ENDPOINT, +) +from ..views import display_view +from ._helpers import _paginate_all + +logger = getLogger() + +class ListReposParams(Params): + organization_name: str = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + limit: float | None = Param( + description="Maximum number of repositories to be fetched" + ) + + +class LicenseOutput(ActionOutput): + key: str = OutputField(example_values=["apache-2.0"]) + name: str = OutputField(example_values=["Apache License 2.0"]) + node_id: str = OutputField(example_values=["MDc6TGljZW5zZIT="]) + spdx_id: str = OutputField(example_values=["Apache-2.0"]) + url: str | None = OutputField( + cef_types=["url"], example_values=["https://api.github.com/licenses/apache-2.0"] + ) + + +class OwnerOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars0.githubusercontent.com/u/41409665?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[41309165]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["Organization"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class PermissionsOutput(ActionOutput): + admin: bool + pull: bool + push: bool + + +class ListReposOutput(ActionOutput): + # Column fields in widget display order + id: float = OutputField(example_values=[141304012], column_name="Repo Id") + full_name: str = OutputField( + example_values=["test/test-repo"], column_name="Repo Full Name" + ) + description: str | None = OutputField( + example_values=["Test Repo 1"], column_name="Repo Description" + ) + repo_owner: str | None = OutputField( + cef_types=["github username"], example_values=["test"], column_name="Repo Owner" + ) + created_at: str = OutputField( + example_values=["2018-07-16T23:05:00Z"], column_name="Created At" + ) + updated_at: str = OutputField( + example_values=["2018-07-16T23:03:00Z"], column_name="Updated At" + ) + private: bool = OutputField(column_name="Is Private") + # Non-column fields + archive_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" + ], + ) + archived: bool + assignees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], + ) + blobs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], + ) + branches_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/branches{/branch}" + ], + ) + clone_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] + ) + collaborators_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" + ], + ) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/comments{/number}" + ], + ) + commits_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], + ) + compare_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" + ], + ) + contents_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], + ) + contributors_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/contributors"], + ) + default_branch: str = OutputField(example_values=["master"]) + deployments_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/deployments"], + ) + downloads_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/downloads"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/events"], + ) + fork: bool + forks: float = OutputField(example_values=[0]) + forks_count: float = OutputField(example_values=[0]) + forks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/forks"], + ) + git_commits_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/git/commits{/sha}" + ], + ) + git_refs_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], + ) + git_tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], + ) + git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) + has_downloads: bool + has_issues: bool + has_pages: bool + has_projects: bool + has_wiki: bool + homepage: str | None = OutputField(cef_types=["url"]) + hooks_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/hooks"], + ) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + issue_comment_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/comments{/number}" + ], + ) + issue_events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/issues/events{/number}" + ], + ) + issues_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], + ) + keys_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], + ) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], + ) + language: str | None + languages_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/languages"], + ) + license: LicenseOutput | None + merges_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/merges"], + ) + milestones_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/milestones{/number}" + ], + ) + mirror_url: str | None = OutputField(cef_types=["url"]) + name: str = OutputField(example_values=["test-repo"]) + node_id: str = OutputField( + example_values=["MDEwOlJlcG9zaXRvnckxNDEyMDQwMDA="] # pragma: allowlist secret + ) + notifications_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" + ], + ) + open_issues: float = OutputField(example_values=[0]) + open_issues_count: float = OutputField(example_values=[0]) + owner: OwnerOutput + permissions: PermissionsOutput | None + pulls_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], + ) + pushed_at: str | None = OutputField(example_values=["2018-07-16T23:03:58Z"]) + releases_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], + ) + size: float = OutputField(example_values=[0]) + ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) + stargazers_count: float = OutputField(example_values=[0]) + stargazers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/stargazers"], + ) + statuses_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], + ) + subscribers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscribers"], + ) + subscription_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/subscription"], + ) + svn_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo"] + ) + tags_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/tags"], + ) + teams_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/teams"], + ) + trees_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], + ) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test-repo"], + ) + watchers: float = OutputField(example_values=[0]) + watchers_count: float = OutputField(example_values=[0]) + + @model_validator(mode="before") + @classmethod + def _flatten_owner(cls, values): + if isinstance(values, dict) and "owner" in values: + owner = values["owner"] + if isinstance(owner, dict): + values.setdefault("repo_owner", owner.get("login")) + return values + + +class ListReposSummary(ActionOutput): + total_repos: int = OutputField(example_values=[10]) + + +@app.action( + description="List all repos of an organization", + action_type="investigate", + view_handler=display_view, +) +def list_repos( + params: ListReposParams, soar: SOARClient, asset: Asset +) -> list[ListReposOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_LIST_REPOS_ENDPOINT.format(org_name=params.organization_name) + output = [ListReposOutput(**r) for r in _paginate_all(endpoint, asset, limit=limit)] + soar.set_summary(ListReposSummary(total_repos=len(output))) + return output diff --git a/src/actions/list_teams.py b/src/actions/list_teams.py new file mode 100644 index 0000000..5218699 --- /dev/null +++ b/src/actions/list_teams.py @@ -0,0 +1,89 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..consts import ( + GITHUB_LIST_TEAMS_ENDPOINT, +) +from ..views import display_view +from ._helpers import _paginate_all + +logger = getLogger() + +class ListTeamsParams(Params): + organization_name: str = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + limit: float | None = Param(description="Maximum number of teams to be fetched") + + +class ListTeamsOutput(ActionOutput): + id: float = OutputField( + cef_types=["github team id"], example_values=[2825460], column_name="Team Id" + ) + name: str = OutputField( + cef_types=["github team name"], + example_values=["new team"], + column_name="Team Name", + ) + description: str | None = OutputField( + example_values=["New team"], column_name="Team Description" + ) + privacy: str = OutputField(example_values=["closed"], column_name="Privacy") + permission: str = OutputField(example_values=["pull"], column_name="Permission") + members_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/teams/2825460/members{/member}"], + ) + node_id: str = OutputField( + example_values=["MDQ6VGVhbTI4JmcyNjA="] # pragma: allowlist secret + ) + repositories_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/2825460/repos"] + ) + slug: str = OutputField(example_values=["new-team"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/teams/2825460"] + ) + + +class ListTeamsSummary(ActionOutput): + total_teams: int = OutputField(example_values=[10]) + + +@app.action( + description="List all teams of an organization", + action_type="investigate", + view_handler=display_view, +) +def list_teams( + params: ListTeamsParams, soar: SOARClient, asset: Asset +) -> list[ListTeamsOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=params.organization_name) + output = [ListTeamsOutput(**t) for t in _paginate_all(endpoint, asset, limit=limit)] + soar.set_summary(ListTeamsSummary(total_teams=len(output))) + return output + diff --git a/src/actions/list_users.py b/src/actions/list_users.py new file mode 100644 index 0000000..09cb4b6 --- /dev/null +++ b/src/actions/list_users.py @@ -0,0 +1,109 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.exceptions import ActionFailure +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..consts import ( + GITHUB_LIST_USERS_ENDPOINT, +) +from ._helpers import _paginate_all + +logger = getLogger() + +class ListUsersParams(Params): + organization_name: str = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + ) + limit: float | None = Param(description="Maximum number of users to be fetched") + + +class ListUsersOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/29919753?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[29939753]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class ListUsersSummary(ActionOutput): + total_users: int = OutputField(example_values=[10]) + + +@app.action(description="List users of an organization", action_type="investigate") +def list_users( + params: ListUsersParams, soar: SOARClient, asset: Asset +) -> list[ListUsersOutput]: + limit = int(params.limit) if params.limit is not None else None + if limit is not None and limit <= 0: + raise ActionFailure("limit must be a positive integer") + endpoint = GITHUB_LIST_USERS_ENDPOINT.format( + organization_name=params.organization_name + ) + output = [ListUsersOutput(**u) for u in _paginate_all(endpoint, asset, limit=limit)] + soar.set_summary(ListUsersSummary(total_users=len(output))) + return output diff --git a/src/actions/remove_collaborator.py b/src/actions/remove_collaborator.py new file mode 100644 index 0000000..605c0c3 --- /dev/null +++ b/src/actions/remove_collaborator.py @@ -0,0 +1,131 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT, + GITHUB_COLLABORATOR_REMOVED_MSG, + GITHUB_JSON_ID, + GITHUB_JSON_INVITEE, + GITHUB_JSON_LOGIN, + GITHUB_LIST_COLLABORATOR_ENDPOINT, + GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT, + GITHUB_PARAM_AFFILIATION, + GITHUB_PARAM_AFFILIATION_DIRECT, + GITHUB_REQUEST_DELETE, + GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT, + GITHUB_USER_NOT_COLLABORATOR_MSG, +) +from ..views import display_view +from ._helpers import _check_response, _paginate_all + +logger = getLogger() + +class RemoveCollaboratorParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + column_name="Repo Owner", + ) + repo_name: str = Param( + description="Name of the repository", + primary=True, + cef_types=["github repo"], + column_name="Repo Name", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + + +class RemoveCollaboratorOutput(ActionOutput): + invite_deleted: bool = OutputField(column_name="Invite Deleted") + + +@app.action( + description="Remove user as a collaborator from the repo", + action_type="generic", + read_only=False, + verbose="If the user is not a direct collaborator to the repo, any pending invitations to the user will also be deleted.", + view_handler=display_view, +) +def remove_collaborator( + params: RemoveCollaboratorParams, soar: SOARClient, asset: Asset +) -> RemoveCollaboratorOutput: + repo = f"{params.repo_owner}/{params.repo_name}" + user = params.user + + direct_endpoint = GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo) + direct_collaborators = _paginate_all( + direct_endpoint, + asset, + extra_params={GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT}, + ) + + for collaborator in direct_collaborators: + if user.lower() == collaborator.get(GITHUB_JSON_LOGIN, "").lower(): + remove_endpoint = GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format( + repo_full_name=repo, user_name=user + ) + _check_response( + call_github(GITHUB_REQUEST_DELETE.upper(), remove_endpoint, asset) + ) + soar.set_message( + GITHUB_COLLABORATOR_REMOVED_MSG.format( + repo_full_name=repo, user_name=user + ) + ) + return RemoveCollaboratorOutput(invite_deleted=False) + + invitations_endpoint = GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format( + repo_full_name=repo + ) + pending = _paginate_all(invitations_endpoint, asset) + + invite_deleted = False + for invitation in pending: + if ( + user.lower() + == invitation.get(GITHUB_JSON_INVITEE, {}) + .get(GITHUB_JSON_LOGIN, "") + .lower() + ): + del_endpoint = GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( + repo_full_name=repo, invitation_id=invitation[GITHUB_JSON_ID] + ) + _check_response( + call_github(GITHUB_REQUEST_DELETE.upper(), del_endpoint, asset) + ) + invite_deleted = True + + if not invite_deleted: + soar.set_message( + GITHUB_USER_NOT_COLLABORATOR_MSG.format(user_name=user, repo_full_name=repo) + ) + else: + soar.set_message( + GITHUB_COLLABORATOR_REMOVED_MSG.format(repo_full_name=repo, user_name=user) + ) + return RemoveCollaboratorOutput(invite_deleted=invite_deleted) + diff --git a/src/actions/remove_member.py b/src/actions/remove_member.py new file mode 100644 index 0000000..7b08461 --- /dev/null +++ b/src/actions/remove_member.py @@ -0,0 +1,119 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT, + GITHUB_GET_MEMBERS_ENDPOINT, + GITHUB_JSON_LOGIN, + GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT, + GITHUB_MEMBER_REMOVAL_MSG, + GITHUB_REQUEST_DELETE, + GITHUB_USER_NOT_TEAM_MEMBER_MSG, +) +from ..views import display_view +from ._helpers import _check_response, _paginate_all, _resolve_team_id + +logger = getLogger() + +class RemoveMemberParams(Params): + organization_name: str | None = Param( + description="Organization name", + primary=True, + cef_types=["github organization name"], + column_name="Organization Name", + ) + team: str = Param( + description="Team name or team ID", + primary=True, + cef_types=["github team name", "github team id"], + column_name="Team", + ) + user: str = Param( + description="Username", + primary=True, + cef_types=["github username"], + column_name="User", + ) + + +class RemoveMemberOutput(ActionOutput): + status: str = OutputField( + example_values=["success", "failed"], column_name="Status" + ) + + +@app.action( + description="Remove user from the team", + action_type="generic", + read_only=False, + verbose="Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", + view_handler=display_view, +) +def remove_member( + params: RemoveMemberParams, soar: SOARClient, asset: Asset +) -> RemoveMemberOutput: + team_id = _resolve_team_id(params.team, params.organization_name, asset) + + members = _paginate_all(GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id), asset) + for member in members: + if member.get(GITHUB_JSON_LOGIN, "").lower() == params.user.lower(): + _check_response( + call_github( + GITHUB_REQUEST_DELETE.upper(), + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( + team_id=team_id, user_name=params.user + ), + asset, + ) + ) + soar.set_message( + GITHUB_MEMBER_REMOVAL_MSG.format( + user_name=params.user, team=params.team + ) + ) + return RemoveMemberOutput(status="success") + + pending = _paginate_all( + GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT.format(team_id=team_id), asset + ) + for invitation in pending: + if params.user.lower() == invitation.get(GITHUB_JSON_LOGIN, "").lower(): + _check_response( + call_github( + GITHUB_REQUEST_DELETE.upper(), + GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( + team_id=team_id, user_name=params.user + ), + asset, + ) + ) + soar.set_message( + GITHUB_MEMBER_REMOVAL_MSG.format( + user_name=params.user, team=params.team + ) + ) + return RemoveMemberOutput(status="success") + + soar.set_message( + GITHUB_USER_NOT_TEAM_MEMBER_MSG.format(team=params.team, user_name=params.user) + ) + return RemoveMemberOutput(status="success") + diff --git a/src/actions/update_issue.py b/src/actions/update_issue.py new file mode 100644 index 0000000..c930c7b --- /dev/null +++ b/src/actions/update_issue.py @@ -0,0 +1,491 @@ +# Copyright (c) 2026 Splunk Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from soar_sdk.abstract import SOARClient +from soar_sdk.action_results import ActionOutput, OutputField +from soar_sdk.logging import getLogger +from soar_sdk.params import Param, Params + +from ..app import Asset, app +from ..client import call_github +from ..consts import ( + GITHUB_ENDPOINT_GET_ISSUE, + GITHUB_REQUEST_PATCH, +) +from ..views import display_view +from ._helpers import _check_response + +logger = getLogger() + +class CreatorOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test"] + ) + id: float = OutputField(example_values=[73419]) + login: str = OutputField(cef_types=["github username"], example_values=["test"]) + node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/test/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/test"] + ) + + +class MilestoneOutput(ActionOutput): + closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) + closed_issues: float = OutputField(example_values=[879]) + created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) + creator: CreatorOutput + description: str | None = OutputField(example_values=["Sample description"]) + due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] + ) + id: float = OutputField(example_values=[2117464]) + labels_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], + ) + node_id: str = OutputField( + example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret + ) + number: float = OutputField(example_values=[10]) + open_issues: float = OutputField(example_values=[15]) + state: str = OutputField(example_values=["open"]) + title: str = OutputField(example_values=["3.4"]) + updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/test/test/milestones/10"], + ) + + +class ClosedByOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + +class UpdateIssueParams(Params): + repo_owner: str = Param( + description="Owner of the repository", + primary=True, + cef_types=["github repo owner", "github username"], + ) + repo_name: str = Param( + description="Name of the repository", primary=True, cef_types=["github repo"] + ) + issue_number: float = Param( + description="Issue ID", primary=True, cef_types=["github issue id"] + ) + state: str | None = Param( + description="State of the issue", value_list=["open", "closed"] + ) + issue_title: str | None = Param(description="Title of the issue") + issue_body: str | None = Param(description="Contents of the issue") + assignees: str | None = Param( + description="Comma-separated list of logins (usernames) for the users to assign to this issue", + primary=True, + cef_types=["github username"], + ) + labels: str | None = Param( + description="Comma-separated list of labels to associate with this issue" + ) + to_empty: bool | None = Param( + description="Empty the field values of the issue for which the parameter values are not provided", + default=False, + ) + + +class AssigneeOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class AssigneesOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class LabelsOutput(ActionOutput): + color: str = OutputField(example_values=["ededed"]) + default: bool + id: float = OutputField(example_values=[1474194162]) + name: str = OutputField(example_values=["demo_update"]) + node_id: str = OutputField( + example_values=["MDU6TGFiZWwxNDc0MTk0MTYy"] # pragma: allowlist secret + ) + url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/labels/demo_update" + ], + ) + + +class UserOutput(ActionOutput): + avatar_url: str = OutputField( + cef_types=["url"], + example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], + ) + events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/events{/privacy}"], + ) + followers_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/followers"], + ) + following_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/following{/other_user}"], + ) + gists_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], + ) + gravatar_id: str | None + html_url: str = OutputField( + cef_types=["url"], example_values=["https://github.com/testbg11"] + ) + id: float = OutputField(example_values=[53362718]) + login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) + node_id: str = OutputField( + example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret + ) + organizations_url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] + ) + received_events_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/received_events"], + ) + repos_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/repos"], + ) + site_admin: bool + starred_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], + ) + subscriptions_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/users/testbg11/subscriptions"], + ) + type: str = OutputField(example_values=["User"]) + url: str = OutputField( + cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] + ) + + +class UpdateIssueOutput(ActionOutput): + assignee: AssigneeOutput | None + assignees: list[AssigneesOutput] + author_association: str = OutputField(example_values=["OWNER"]) + body: str | None = OutputField(example_values=["test update body"]) + closed_at: str | None = OutputField(example_values=["2019-07-29T11:24:09Z"]) + closed_by: ClosedByOutput | None + comments: float = OutputField(example_values=[1]) + comments_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/issues/1/comments" + ], + ) + created_at: str = OutputField(example_values=["2019-07-27T05:42:57Z"]) + events_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/issues/1/events" + ], + ) + html_url: str = OutputField( + cef_types=["url"], + example_values=["https://github.com/testbg11/Testing1/issues/1"], + ) + id: float = OutputField(example_values=[473601979]) + labels: list[LabelsOutput] + labels_url: str = OutputField( + cef_types=["url"], + example_values=[ + "https://api.github.com/repos/testbg11/Testing1/issues/1/labels{/name}" + ], + ) + locked: bool + milestone: MilestoneOutput | None + node_id: str = OutputField( + example_values=["MDU6SXNzdWU0NzM2MDE5Nzk="] # pragma: allowlist secret + ) + number: float = OutputField(cef_types=["github issue id"], example_values=[1]) + repository_url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/testbg11/Testing1"], + ) + state: str = OutputField(example_values=["closed"]) + title: str = OutputField(example_values=["update test title"]) + updated_at: str = OutputField(example_values=["2019-07-29T11:27:10Z"]) + url: str = OutputField( + cef_types=["url"], + example_values=["https://api.github.com/repos/testbg11/Testing1/issues/1"], + ) + user: UserOutput + + +class UpdateIssueSummary(ActionOutput): + issue_number: float | None = OutputField(example_values=[1]) + issue_url: str | None = OutputField( + cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] + ) + + +@app.action( + description="Update an issue for the GitHub repository", + action_type="generic", + read_only=False, + verbose="Only users with push access can set assignees/labels for new issues. \nAssignees/labels are silently dropped otherwise. The existing labels and assignees of the issue will be replaced with the labels and assignees provided in the respective input parameters by the user. If the to_empty parameter is checked, then, it will empty the field values of the issue (except for the title and the state of the issue) for which the parameter values are not provided or kept empty. If the to_empty parameter is not checked, then, it will simply ignore the empty parameter values from being updated on the issue.", + view_handler=display_view, +) +def update_issue( + params: UpdateIssueParams, soar: SOARClient, asset: Asset +) -> UpdateIssueOutput: + assignees = [x.strip() for x in (params.assignees or "").split(",") if x.strip()] + labels = [x.strip() for x in (params.labels or "").split(",") if x.strip()] + to_empty = params.to_empty or False + + if to_empty: + body: dict = { + "body": params.issue_body, + "assignees": assignees, + "labels": labels, + } + else: + body = {} + if params.issue_body: + body["body"] = params.issue_body + if assignees: + body["assignees"] = assignees + if labels: + body["labels"] = labels + + if params.issue_title: + body["title"] = params.issue_title + if params.state: + body["state"] = params.state + + endpoint = GITHUB_ENDPOINT_GET_ISSUE.format( + repo_owner=params.repo_owner, + repo_name=params.repo_name, + issue_number=int(params.issue_number), + ) + response = call_github(GITHUB_REQUEST_PATCH.upper(), endpoint, asset, json=body) + _check_response(response) + data = response.json() + soar.set_summary( + UpdateIssueSummary( + issue_number=data.get("number"), issue_url=data.get("html_url") + ) + ) + return UpdateIssueOutput(**data) + diff --git a/src/app.py b/src/app.py index 1ec84f2..5bac468 100644 --- a/src/app.py +++ b/src/app.py @@ -12,76 +12,18 @@ # See the License for the specific language governing permissions and # limitations under the License. - from soar_sdk.abstract import SOARClient -from pydantic import model_validator -from soar_sdk.action_results import ActionOutput, OutputField from soar_sdk.app import App from soar_sdk.asset import AssetField, BaseAsset from soar_sdk.exceptions import ActionFailure from soar_sdk.logging import getLogger -from soar_sdk.params import Param, Params - -# Custom Imports from .client import call_github from .consts import ( - GITHUB_ADD_MEMBER_MSG, - GITHUB_ADD_MEMBER_PENDING_MSG, - GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT, - GITHUB_ADD_REMOVE_MEMBER_ENDPOINT, - GITHUB_ALREADY_TEAM_MEMBER_MSG, - GITHUB_COLLABORATOR_ADDED_MSG, - GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG, - GITHUB_COLLABORATOR_REMOVED_MSG, - GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG, GITHUB_CONFIG_PARAMS_REQUIRED_CONNECTIVITY, GITHUB_CURRENT_USER_ENDPOINT, - GITHUB_ENDPOINT_COMMENTS, - GITHUB_ENDPOINT_GET_ISSUE, - GITHUB_ENDPOINT_ISSUES, - GITHUB_ENDPOINT_LABELS, - GITHUB_EVENTS_ENDPOINT, - GITHUB_GET_MEMBERS_ENDPOINT, - GITHUB_INVALID_TEAM_ID, - GITHUB_JSON_COLLABORATOR_ADDED, - GITHUB_JSON_ID, - GITHUB_JSON_INVITEE, - GITHUB_JSON_INVITE_SENT, - GITHUB_JSON_LOGIN, - GITHUB_JSON_NAME, - GITHUB_JSON_PERMISSIONS, - GITHUB_JSON_REPO_ROLE, - GITHUB_JSON_ROLE, - GITHUB_LABEL_ADDED_MSG, - GITHUB_LIST_COLLABORATOR_ENDPOINT, - GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT, - GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT, - GITHUB_LIST_ORGANIZATIONS_ENDPOINT, - GITHUB_LIST_REPOS_ENDPOINT, - GITHUB_LIST_TEAMS_ENDPOINT, - GITHUB_LIST_USERS_ENDPOINT, - GITHUB_MEMBER_REMOVAL_MSG, - GITHUB_ORGANIZATION_REQUIRED_MSG, - GITHUB_PAGINATION_MAX_SIZE, - GITHUB_PARAM_AFFILIATION, - GITHUB_PARAM_AFFILIATION_DIRECT, - GITHUB_REPO_ROLE_ADMIN, - GITHUB_REPO_ROLE_PULL, - GITHUB_REPO_ROLE_PUSH, - GITHUB_REPO_ROLE_READ, - GITHUB_REPO_ROLE_WRITE, - GITHUB_REQUEST_DELETE, - GITHUB_REQUEST_PATCH, - GITHUB_REQUEST_POST, - GITHUB_REQUEST_PUT, GITHUB_TEST_CONNECTIVITY_FAILED_MSG, - GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT, - GITHUB_USER_NOT_COLLABORATOR_MSG, - GITHUB_USER_NOT_TEAM_MEMBER_MSG, ) -from .views import display_view - logger = getLogger() @@ -126,5253 +68,55 @@ def test_connectivity(soar: SOARClient, asset: Asset) -> None: f"{GITHUB_TEST_CONNECTIVITY_FAILED_MSG}: " "HTTP 401 — check your Personal Access Token." ) + # _check_response is re-exported at module level below; safe to call after full load + from .actions._helpers import _check_response # noqa: PLC0415 _check_response(response) -class ListEventsParams(Params): - username: str = Param( - description="Username", primary=True, cef_types=["github username"] - ) - - -class ActorOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars.githubusercontent.com/u/41301719?"], - ) - display_login: str | None = OutputField( - cef_types=["github username"], example_values=["test"] - ) - gravatar_id: str | None - id: float = OutputField(example_values=[41301719]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class OrgOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars.githubusercontent.com/u/41301665?"], - ) - gravatar_id: str | None - id: float = OutputField(example_values=[41301665]) - login: str = OutputField( - cef_types=["github organization name"], example_values=["test"] - ) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test"] - ) - - -class DismisserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars1.githubusercontent.com/u/1032411?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[1032411]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjEwMzI0MTE="] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/octocat"] - ) - - -class AlertOutput(ActionOutput): - affected_package_name: str = OutputField(example_values=["many_versioned_gem"]) - affected_range: str = OutputField(example_values=["0.2.0"]) - dismiss_reason: str | None = OutputField( - example_values=["No bandwidth to fix this"] - ) - dismissed_at: str | None = OutputField(example_values=["2017-10-25T00:00:00+00:00"]) - dismisser: DismisserOutput | None - external_identifier: str = OutputField(example_values=["CVE-2018-3728"]) - external_reference: str = OutputField( - cef_types=["url"], - example_values=["https://nvd.nist.gov/vuln/detail/CVE-2018-3728"], - ) - fixed_in: str | None = OutputField(example_values=["0.2.5"]) - id: float = OutputField(example_values=[7649605]) - - -class BlockedUserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars2.githubusercontent.com/u/39652351?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[406494157]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjM5NjUyMzUx"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class BodyOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class ColorOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class DescriptionOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class DueOnOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class NameOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class NoteOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class PermissionOutput(ActionOutput): - from_: str = OutputField(example_values=["write"], alias="from") - - -class PrivacyOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class FromOutput(ActionOutput): - admin: bool - pull: bool - push: bool - - -class PermissionsOutput(ActionOutput): - contents: str = OutputField(example_values=["read"]) - issues: str = OutputField(example_values=["write"]) - metadata: str = OutputField(example_values=["read"]) - - -class RepositoryOutput(ActionOutput): - archive_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - ) - archived: bool - assignees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], - ) - blobs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], - ) - branches_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - ) - clone_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] - ) - collaborators_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - ) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - ) - commits_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], - ) - compare_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - ) - contents_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], - ) - contributors_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contributors"], - ) - created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) - default_branch: str = OutputField(example_values=["master"]) - deployments_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/deployments"], - ) - description: str | None - downloads_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/downloads"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/events"], - ) - fork: bool - forks: float = OutputField(example_values=[0]) - forks_count: float = OutputField(example_values=[0]) - forks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/forks"], - ) - full_name: str = OutputField(example_values=["test/test-repo"]) - git_commits_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - ) - git_refs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], - ) - git_tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], - ) - git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) - has_downloads: bool - has_issues: bool - has_pages: bool - has_projects: bool - has_wiki: bool - homepage: str | None = OutputField( - cef_types=["url"], example_values=["https://test.com"] - ) - hooks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/hooks"], - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - id: float = OutputField(example_values=[135493233]) - issue_comment_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - ) - issue_events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - ) - issues_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], - ) - keys_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], - ) - labels_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], - ) - language: str | None - languages_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/languages"], - ) - license: "LicenseOutput | None" - master_branch: str | None = OutputField(example_values=["master"]) - merges_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/merges"], - ) - milestones_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - ) - mirror_url: str | None = OutputField(cef_types=["url"]) - name: str = OutputField(example_values=["test-repo"]) - node_id: str = OutputField( - example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret - ) - notifications_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - ) - open_issues: float = OutputField(example_values=[0]) - open_issues_count: float = OutputField(example_values=[0]) - owner: "OwnerOutput" - private: bool - pulls_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], - ) - pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) - releases_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], - ) - size: float = OutputField(example_values=[0]) - ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) - stargazers: float | None = OutputField(example_values=[1]) - stargazers_count: float = OutputField(example_values=[0]) - stargazers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/stargazers"], - ) - statuses_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], - ) - subscribers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscribers"], - ) - subscription_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscription"], - ) - svn_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/tags"], - ) - teams_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/teams"], - ) - trees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], - ) - updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo"], - ) - watchers: float = OutputField(example_values=[0]) - watchers_count: float = OutputField(example_values=[0]) - - -class TitleOutput(ActionOutput): - from_: str = OutputField(alias="from") - - -class ChangesOutput(ActionOutput): - body: BodyOutput - color: ColorOutput - description: DescriptionOutput - due_on: DueOnOutput - name: NameOutput - note: NoteOutput - permission: PermissionOutput - privacy: PrivacyOutput - repository: RepositoryOutput - title: TitleOutput - - -class OwnerOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[29939753]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class AppOutput(ActionOutput): - created_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) - description: str | None - external_url: str = OutputField( - cef_types=["url"], example_values=["http://super-duper.example.com"] - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["http://github.com/apps/super-duper"] - ) - id: float = OutputField(example_values=[2]) - name: str = OutputField(example_values=["Super Duper"]) - node_id: str = OutputField( - example_values=["MDExOkludGVncmF0aW9uMQ="] # pragma: allowlist secret - ) - owner: OwnerOutput - updated_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) - - -class AuthorOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/1?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[1]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField(example_values=["MDQ6VXNlcjE="]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class CommitterOutput(ActionOutput): - email: str = OutputField(cef_types=["email"], example_values=["test@user.com"]) - name: str = OutputField(cef_types=["github username"], example_values=["test"]) - - -class HeadCommitOutput(ActionOutput): - author: AuthorOutput - committer: CommitterOutput - id: str = OutputField( - cef_types=["sha1"], - example_values=[ - "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret - ], - ) - message: str = OutputField(example_values=["Sample message"]) - timestamp: str = OutputField(example_values=["2018-05-04T01:14:46Z"]) - tree_id: str = OutputField( - cef_types=["sha1"], - example_values=[ - "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret - ], - ) - - -class CommentsOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/issues/27999/comments"], - ) - - -class CommitsOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/pulls/27999/commits"], - ) - - -class HtmlOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" - ], - ) - - -class IssueOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/issues/27999"], - ) - - -class ReviewCommentOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test/pulls/comments{/number}" - ], - ) - - -class ReviewCommentsOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/pulls/27999/comments"], - ) - - -class SelfOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/pulls/27999"], - ) - - -class StatusesOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test/statuses/ee780f3c664f8e2846aba087c5e9653a92c64252" - ], - ) - - -class LinksOutput(ActionOutput): - html: HtmlOutput - pull_request: "PullRequestOutput" - - -class AssigneeOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[29939753]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class AssigneesOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/29939753?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[29939753]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class LicenseOutput(ActionOutput): - key: str = OutputField(example_values=["mit"]) - name: str = OutputField(example_values=["MIT License"]) - node_id: str = OutputField(example_values=["MDc6TGljZW5zZTEz"]) - spdx_id: str = OutputField(example_values=["MIT"]) - url: str | None = OutputField( - cef_types=["url"], example_values=["https://api.github.com/licenses/mit"] - ) - - -class RepoOutput(ActionOutput): - id: float = OutputField(example_values=[141531062]) - name: str = OutputField(cef_types=["github repo"], example_values=["test-repo"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo"], - ) - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars1.githubusercontent.com/u/1032411?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[1032411]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjEwMzI0MTE="] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class BaseOutput(ActionOutput): - label: str = OutputField(example_values=["test:2.8"]) - ref: str = OutputField(example_values=["2.8"]) - repo: RepoOutput - sha: str = OutputField( - cef_types=["sha1"], - example_values=[ - "08a49bc5302de373bdb44e5c189133a7d5d5f12b" # pragma: allowlist secret - ], - ) - user: UserOutput - - -class HeadOutput(ActionOutput): - label: str = OutputField(example_values=["test:uuid-translations"]) - ref: str = OutputField(example_values=["uuid-translations"]) - repo: RepoOutput - sha: str = OutputField( - cef_types=["sha1"], - example_values=[ - "ee780f3c664f8e2846aba087c5e9653a92c64252" # pragma: allowlist secret - ], - ) - user: UserOutput - - -class LabelsOutput(ActionOutput): - color: str = OutputField(example_values=["e10c02"]) - default: bool - id: float = OutputField(example_values=[100079]) - name: str = OutputField(example_values=["Bug"]) - node_id: str = OutputField( - example_values=["MDU6TGFiZWwxMDAwNzk="] # pragma: allowlist secret - ) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/labels/Bug"], - ) - - -class MergedByOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/47313?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[47313]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField(example_values=["MDQ6VXNlcjQ3MzEz"]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class CreatorOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/73419?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[73419]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField(example_values=["MDQ6VXNlcjczNDE5"]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class MilestoneOutput(ActionOutput): - closed_at: str | None = OutputField(example_values=["2018-07-20T11:26:15Z"]) - closed_issues: float = OutputField(example_values=[879]) - created_at: str = OutputField(example_values=["2016-11-06T20:24:23Z"]) - creator: CreatorOutput - description: str | None = OutputField(example_values=["Sample description"]) - due_on: str | None = OutputField(example_values=["2020-11-30T08:00:00Z"]) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test/milestone/10"] - ) - id: float = OutputField(example_values=[2117464]) - labels_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/milestones/10/labels"], - ) - node_id: str = OutputField( - example_values=["MDk6TWlsZXN0b25lMjExNzQ2NA=="] # pragma: allowlist secret - ) - number: float = OutputField(example_values=[10]) - open_issues: float = OutputField(example_values=[15]) - state: str = OutputField(example_values=["open"]) - title: str = OutputField(example_values=["3.4"]) - updated_at: str = OutputField(example_values=["2018-07-19T07:12:02Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/milestones/10"], - ) - - -class RequestedReviewersOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars2.githubusercontent.com/u/57224?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[57224]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField(example_values=["MDQ6VXNlcjU3MjI0"]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class OrganizationOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/41309665?v=4"], - ) - created_at: str = OutputField(example_values=["2018-07-16T23:02:38Z"]) - description: str | None - events_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/events"] - ) - followers: float = OutputField(example_values=[3]) - following: float = OutputField(example_values=[3]) - has_organization_projects: bool - has_repository_projects: bool - hooks_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/hooks"] - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[41309665]) - issues_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/issues"] - ) - login: str = OutputField( - cef_types=["github organization name"], example_values=["test"] - ) - members_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/orgs/test/members{/member}"], - ) - node_id: str = OutputField( - example_values=["MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1"] # pragma: allowlist secret - ) - public_gists: float = OutputField(example_values=[3]) - public_members_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/orgs/test/public_members{/member}"], - ) - public_repos: float = OutputField(example_values=[3]) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/repos"] - ) - type: str = OutputField(example_values=["Organization"]) - updated_at: str = OutputField(example_values=["2018-07-16T23:02:38Z"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test"] - ) - - -class RequestedTeamsOutput(ActionOutput): - created_at: str = OutputField(example_values=["2018-07-16T23:08:17Z"]) - description: str | None = OutputField(example_values=["Everybody but Tony"]) - id: float = OutputField(example_values=[2826794]) - members_count: float = OutputField(example_values=[2]) - members_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/teams/2826794/members{/member}"], - ) - name: str = OutputField(example_values=["not-tony-team"]) - node_id: str = OutputField( - example_values=["MDQ6VGVhbTI4MjY3OTQ="] # pragma: allowlist secret - ) - organization: OrganizationOutput - permission: str = OutputField(example_values=["pull"]) - privacy: str = OutputField(example_values=["closed"]) - repos_count: float = OutputField(example_values=[2]) - repositories_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/teams/test/repos"] - ) - slug: str = OutputField(example_values=["not-tony-team"]) - updated_at: str = OutputField(example_values=["2018-07-16T23:08:17Z"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/teams/2826794"] - ) - - -class PullRequestsOutput(ActionOutput): - diff_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/twigphp/Twig/pull/2721.diff"], - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/twigphp/Twig/pull/2721"] - ) - patch_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/twigphp/Twig/pull/2721.patch"], - ) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/twigphp/Twig/pulls/2721"], - ) - - -class CheckSuiteOutput(ActionOutput): - after: str | None = OutputField( - cef_types=["sha1"], - example_values=[ - "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret - ], - ) - app: AppOutput - before: str | None = OutputField( - cef_types=["sha1"], - example_values=[ - "146e867f55c26428e5f9fade55a9bbf5e95a7912" # pragma: allowlist secret - ], - ) - check_runs_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" - ], - ) - conclusion: str | None = OutputField(example_values=["neutral"]) - created_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) - head_branch: str | None = OutputField(example_values=["master"]) - head_commit: HeadCommitOutput - head_sha: str = OutputField( - cef_types=["sha1"], - example_values=[ - "d6fde92930d4715a2b49857d24b940956b26d2d3" # pragma: allowlist secret - ], - ) - id: float = OutputField(example_values=[5]) - latest_check_runs_count: float = OutputField(example_values=[1]) - latest_check_runs_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/check-suites/5/check-runs" - ], - ) - pull_requests: list[PullRequestsOutput] - status: str = OutputField(example_values=["completed"]) - updated_at: str = OutputField(example_values=["2018-04-25 20:42:10"]) - - -class OutputOutput(ActionOutput): - annotations_count: float = OutputField(example_values=[12]) - annotations_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/check-runs/4/annotations" - ], - ) - summary: str | None = OutputField(example_values=["It's all good"]) - text: str | None = OutputField(example_values=["Sample text"]) - title: str | None = OutputField(example_values=["Report"]) - - -class CheckRunOutput(ActionOutput): - pull_requests: list[PullRequestsOutput] - - -class PullRequestOutput(ActionOutput): - href: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/pulls/1"], - ) - - -class CommentOutput(ActionOutput): - links: LinksOutput | None = None - author_association: str = OutputField(example_values=["CONTRIBUTOR"]) - body: str = OutputField(example_values=["LGTM. Can you add some tests?"]) - commit_id: str = OutputField( - cef_types=["sha1"], - example_values=[ - "329bd507c1123c1ab24e58b78fa8d32bd1c70639" # pragma: allowlist secret - ], - ) - created_at: str = OutputField(example_values=["2018-07-20T05:36:22Z"]) - diff_hunk: str = OutputField(example_values=["Sample"]) - html_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/twigphp/Twig/pull/2721#issuecomment-406494157" - ], - ) - id: float = OutputField(example_values=[406494157]) - in_reply_to_id: float | None = OutputField(example_values=[203123149]) - issue_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/twigphp/Twig/issues/2721"], - ) - line: str | None - node_id: str = OutputField( - example_values=[ - "MDEyOklzc3VlQ29tbWVudDQwNjQ5NDE1Nw==" # pragma: allowlist secret - ] - ) - original_commit_id: str = OutputField( - cef_types=["sha1"], - example_values=[ - "329bd507c1123c1ab24e58b78fa8d32bd1c70639" # pragma: allowlist secret - ], - ) - original_position: float = OutputField(example_values=[13]) - path: str = OutputField(example_values=["src/test/Component/Finder/Finder.php"]) - position: float | None = OutputField(example_values=[13]) - pull_request_review_id: float | None = OutputField(example_values=[138091767]) - pull_request_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test/pulls/27967"], - ) - updated_at: str = OutputField(example_values=["2018-07-20T05:36:22Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/twigphp/Twig/issues/comments/406494157" - ], - ) - user: UserOutput - - -class ForkeeOutput(ActionOutput): - archive_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/{archive_format}{/ref}" - ], - ) - archived: bool - assignees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/assignees{/user}"], - ) - blobs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/git/blobs{/sha}"], - ) - branches_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/branches{/branch}" - ], - ) - clone_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-proj.git"] - ) - collaborators_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/collaborators{/collaborator}" - ], - ) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/comments{/number}" - ], - ) - commits_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/commits{/sha}"], - ) - compare_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/compare/{base}...{head}" - ], - ) - contents_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/contents/{+path}"], - ) - contributors_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/contributors"], - ) - created_at: str = OutputField(example_values=["2018-07-20T06:03:13Z"]) - default_branch: str = OutputField(example_values=["master"]) - deployments_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/deployments"], - ) - description: str | None - downloads_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/downloads"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/events"], - ) - fork: bool - forks: float = OutputField(example_values=[0]) - forks_count: float = OutputField(example_values=[0]) - forks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/forks"], - ) - full_name: str = OutputField(example_values=["test/test-repo"]) - git_commits_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/git/commits{/sha}" - ], - ) - git_refs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/git/refs{/sha}"], - ) - git_tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/git/tags{/sha}"], - ) - git_url: str = OutputField(example_values=["git://github.com/test/test-proj.git"]) - has_downloads: bool - has_issues: bool - has_pages: bool - has_projects: bool - has_wiki: bool - homepage: str | None = OutputField( - cef_types=["url"], example_values=["https://test.com"] - ) - hooks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/hooks"], - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-proj"] - ) - id: float = OutputField(example_values=[141670240]) - issue_comment_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/issues/comments{/number}" - ], - ) - issue_events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/issues/events{/number}" - ], - ) - issues_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/issues{/number}"], - ) - keys_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/keys{/key_id}"], - ) - labels_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/labels{/name}"], - ) - language: str | None = OutputField(example_values=["PHP"]) - languages_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/languages"], - ) - license: LicenseOutput | None - merges_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/merges"], - ) - milestones_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/milestones{/number}" - ], - ) - mirror_url: str | None = OutputField(cef_types=["url"]) - name: str = OutputField(example_values=["test-proj"]) - node_id: str = OutputField( - example_values=["MDEwOlJlcG9zaXRvcnkxNDE2NzAyNDA="] # pragma: allowlist secret - ) - notifications_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/notifications{?since,all,participating}" - ], - ) - open_issues: float = OutputField(example_values=[0]) - open_issues_count: float = OutputField(example_values=[0]) - owner: OwnerOutput - private: bool - public: bool - pulls_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/pulls{/number}"], - ) - pushed_at: str | None = OutputField(example_values=["2018-07-20T06:02:31Z"]) - releases_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/releases{/id}"], - ) - size: float = OutputField(example_values=[0]) - ssh_url: str = OutputField(example_values=["git@github.com:test/test-proj.git"]) - stargazers_count: float = OutputField(example_values=[0]) - stargazers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/stargazers"], - ) - statuses_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/statuses/{sha}"], - ) - subscribers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/subscribers"], - ) - subscription_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/subscription"], - ) - svn_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-proj"] - ) - tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/tags"], - ) - teams_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/teams"], - ) - trees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj/git/trees{/sha}"], - ) - updated_at: str = OutputField(example_values=["2018-07-20T06:02:33Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-proj"], - ) - watchers: float = OutputField(example_values=[0]) - watchers_count: float = OutputField(example_values=[0]) - - -class AccountOutput(ActionOutput): - id: float = OutputField(example_values=[18404719]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - organization_billing_email: str = OutputField( - cef_types=["email"], example_values=["username@email.com"] - ) - type: str = OutputField(example_values=["Organization"]) - - -class InstallationOutput(ActionOutput): - access_tokens_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/installations/2/access_tokens"], - ) - account: AccountOutput - app_id: float = OutputField(example_values=[5725]) - created_at: float = OutputField(example_values=[1525109898]) - events: str = OutputField(example_values=["User"]) - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/settings/installations/2"], - ) - id: float = OutputField(example_values=[2]) - permissions: PermissionsOutput - repositories_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/installation/repositories"], - ) - repository_selection: str = OutputField(example_values=["selected"]) - single_file_name: str | None = OutputField( - cef_types=["file name"], example_values=["config.yml"] - ) - target_id: float = OutputField(example_values=[3880403]) - target_type: str = OutputField(example_values=["User"]) - updated_at: float = OutputField(example_values=[1525109899]) - - -class PlanOutput(ActionOutput): - bullets: str = OutputField(example_values=["Is Basic"]) - description: str = OutputField(example_values=["Basic Plan"]) - has_free_trial: bool - id: float = OutputField(example_values=[435]) - monthly_price_in_cents: float = OutputField(example_values=[1000]) - name: str = OutputField(example_values=["Basic Plan"]) - price_model: str = OutputField(example_values=["per-unit"]) - unit_name: str = OutputField(example_values=["seat"]) - yearly_price_in_cents: float = OutputField(example_values=[10000]) - - -class MarketplacePurchaseOutput(ActionOutput): - account: AccountOutput - billing_cycle: str = OutputField(example_values=["monthly"]) - free_trial_ends_on: str | None - next_billing_date: str = OutputField(example_values=["2017-11-05T00:00:00+00:00"]) - on_free_trial: bool - plan: PlanOutput - unit_count: float = OutputField(example_values=[1]) - - -class MemberOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars1.githubusercontent.com/u/41301719?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[41301719]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjQxMzA5NzE5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class PagesOutput(ActionOutput): - action: str = OutputField(example_values=["created"]) - creator: CreatorOutput - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/test/test-proj/wiki/Home"], - ) - page_name: str = OutputField(example_values=["Home"]) - sha: str = OutputField( - cef_types=["sha1"], - example_values=[ - "75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6" # pragma: allowlist secret - ], - ) - summary: str | None - title: str = OutputField(example_values=["Home"]) - - -class ProjectOutput(ActionOutput): - body: str | None = OutputField(example_values=["Project tasks for a trip to Space"]) - columns_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/projects/1547122/columns"], - ) - created_at: str = OutputField(example_values=["2018-05-30T20:18:51Z"]) - creator: CreatorOutput - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/test/test-repo/projects/1"], - ) - id: float = OutputField(example_values=[1547122]) - name: str = OutputField(example_values=["Space 2.0"]) - node_id: str = OutputField( - example_values=["MDc6UHJvamVjdDE1NDcxMjI="] # pragma: allowlist secret - ) - number: float = OutputField(example_values=[1]) - owner_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo"], - ) - state: str = OutputField(example_values=["open"]) - updated_at: str = OutputField(example_values=["2018-05-30T20:18:51Z"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/projects/1547122"] - ) - - -class ProjectCardOutput(ActionOutput): - column_id: float = OutputField(example_values=[2803722]) - column_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/projects/columns/2803722"], - ) - created_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) - creator: CreatorOutput - id: float = OutputField(example_values=[10189042]) - node_id: str = OutputField( - example_values=["MDExOlByb2plY3RDYXJkMTAxODkwNDI="] # pragma: allowlist secret - ) - note: str | None = OutputField( - example_values=["Work that can be completed in one hour or less"] - ) - updated_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/projects/columns/cards/10189042"], - ) - - -class ProjectColumnOutput(ActionOutput): - cards_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/projects/columns/2803722/cards"], - ) - created_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) - id: float = OutputField(example_values=[2803722]) - name: str = OutputField(example_values=["Small bugfixes"]) - node_id: str = OutputField( - example_values=["MDEzOlByb2plY3RDb2x1bW4yODAzNzIy"] # pragma: allowlist secret - ) - project_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/projects/1547122"] - ) - updated_at: str = OutputField(example_values=["2018-05-30T20:18:52Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/projects/columns/2803722"], - ) - - -class UploaderOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars1.githubusercontent.com/u/41309719?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[41309719]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjQxMzA5NzE5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class AssetsOutput(ActionOutput): - browser_download_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/test/test-proj/releases/download/1.1.1.1.1/phapp_code42.tgz" - ], - ) - content_type: str = OutputField(example_values=["application/x-compressed"]) - created_at: str = OutputField(example_values=["2018-07-20T13:12:10Z"]) - download_count: float = OutputField(example_values=[0]) - id: float = OutputField(example_values=[7946908]) - label: str | None - name: str = OutputField(example_values=["phapp_code42.tgz"]) - node_id: str = OutputField( - example_values=["MDEyOlJlbGVhc2VBc3NldDc5NDY5MDg="] # pragma: allowlist secret - ) - size: float = OutputField(example_values=[91097]) - state: str = OutputField(example_values=["uploaded"]) - updated_at: str = OutputField(example_values=["2018-07-20T13:12:16Z"]) - uploader: UploaderOutput - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-proj/releases/assets/8946908" - ], - ) - - -class ReleaseOutput(ActionOutput): - assets: list[AssetsOutput] - assets_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/toml-lang/toml/releases/11865985/assets" - ], - ) - author: AuthorOutput - body: str | None = OutputField(example_values=["Sample body"]) - created_at: str = OutputField(example_values=["2018-07-10T21:44:12Z"]) - draft: bool - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/toml-lang/toml/releases/tag/v0.5.0"], - ) - id: float = OutputField(example_values=[11865985]) - name: str | None = OutputField(example_values=["v0.5.0"]) - node_id: str = OutputField( - example_values=["MDc6UmVsZWFzZTExODY1OTg1"] # pragma: allowlist secret - ) - prerelease: bool - published_at: str = OutputField(example_values=["2018-07-10T21:58:13Z"]) - tag_name: str = OutputField(example_values=["v0.5.0"]) - tarball_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/toml-lang/toml/tarball/v0.5.0"], - ) - target_commitish: str = OutputField(example_values=["master"]) - upload_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://uploads.github.com/repos/toml-lang/toml/releases/11865985/assets{?name,label}" - ], - ) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/toml-lang/toml/releases/11865985" - ], - ) - zipball_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/toml-lang/toml/zipball/v0.5.0"], - ) - - -class RepositoriesAddedOutput(ActionOutput): - archive_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - ) - archived: bool - assignees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], - ) - blobs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], - ) - branches_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - ) - clone_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] - ) - collaborators_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - ) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - ) - commits_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], - ) - compare_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - ) - contents_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], - ) - contributors_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contributors"], - ) - created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) - default_branch: str = OutputField(example_values=["master"]) - deployments_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/deployments"], - ) - description: str | None - downloads_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/downloads"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/events"], - ) - fork: bool - forks: float = OutputField(example_values=[0]) - forks_count: float = OutputField(example_values=[0]) - forks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/forks"], - ) - full_name: str = OutputField(example_values=["test/test-repo"]) - git_commits_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - ) - git_refs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], - ) - git_tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], - ) - git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) - has_downloads: bool - has_issues: bool - has_pages: bool - has_projects: bool - has_wiki: bool - homepage: str | None = OutputField( - cef_types=["url"], example_values=["https://test.com"] - ) - hooks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/hooks"], - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - id: float = OutputField(example_values=[135493233]) - issue_comment_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - ) - issue_events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - ) - issues_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], - ) - keys_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], - ) - labels_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], - ) - language: str | None - languages_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/languages"], - ) - license: LicenseOutput | None - merges_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/merges"], - ) - milestones_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - ) - mirror_url: str | None = OutputField(cef_types=["url"]) - name: str = OutputField(example_values=["test-repo"]) - node_id: str = OutputField( - example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret - ) - notifications_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - ) - open_issues: float = OutputField(example_values=[0]) - open_issues_count: float = OutputField(example_values=[0]) - owner: OwnerOutput - private: bool - pulls_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], - ) - pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) - releases_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], - ) - size: float = OutputField(example_values=[0]) - ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) - stargazers_count: float = OutputField(example_values=[0]) - stargazers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/stargazers"], - ) - statuses_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], - ) - subscribers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscribers"], - ) - subscription_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscription"], - ) - svn_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/tags"], - ) - teams_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/teams"], - ) - trees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], - ) - updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo"], - ) - watchers: float = OutputField(example_values=[0]) - watchers_count: float = OutputField(example_values=[0]) - - -class RepositoriesRemovedOutput(ActionOutput): - archive_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - ) - archived: bool - assignees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], - ) - blobs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], - ) - branches_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - ) - clone_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] - ) - collaborators_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - ) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - ) - commits_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], - ) - compare_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - ) - contents_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], - ) - contributors_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contributors"], - ) - created_at: str = OutputField(example_values=["2018-05-30T20:18:04Z"]) - default_branch: str = OutputField(example_values=["master"]) - deployments_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/deployments"], - ) - description: str | None - downloads_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/downloads"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/events"], - ) - fork: bool - forks: float = OutputField(example_values=[0]) - forks_count: float = OutputField(example_values=[0]) - forks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/forks"], - ) - full_name: str = OutputField(example_values=["test/test-repo"]) - git_commits_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - ) - git_refs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], - ) - git_tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], - ) - git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) - has_downloads: bool - has_issues: bool - has_pages: bool - has_projects: bool - has_wiki: bool - homepage: str | None = OutputField( - cef_types=["url"], example_values=["https://test.com"] - ) - hooks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/hooks"], - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - id: float = OutputField(example_values=[135493233]) - issue_comment_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - ) - issue_events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - ) - issues_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], - ) - keys_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], - ) - labels_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], - ) - language: str | None - languages_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/languages"], - ) - license: LicenseOutput | None - merges_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/merges"], - ) - milestones_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - ) - mirror_url: str | None = OutputField(cef_types=["url"]) - name: str = OutputField(example_values=["test-repo"]) - node_id: str = OutputField( - example_values=["MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM="] # pragma: allowlist secret - ) - notifications_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - ) - open_issues: float = OutputField(example_values=[0]) - open_issues_count: float = OutputField(example_values=[0]) - owner: OwnerOutput - private: bool - pulls_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], - ) - pushed_at: str | None = OutputField(example_values=["2018-05-30T20:18:34Z"]) - releases_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], - ) - size: float = OutputField(example_values=[0]) - ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) - stargazers_count: float = OutputField(example_values=[0]) - stargazers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/stargazers"], - ) - statuses_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], - ) - subscribers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscribers"], - ) - subscription_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscription"], - ) - svn_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/tags"], - ) - teams_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/teams"], - ) - trees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], - ) - updated_at: str = OutputField(example_values=["2018-05-30T20:18:44Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo"], - ) - watchers: float = OutputField(example_values=[0]) - watchers_count: float = OutputField(example_values=[0]) - - -class ReviewOutput(ActionOutput): - links: LinksOutput | None = None - author_association: str = OutputField(example_values=["OWNER"]) - body: str | None - commit_id: str = OutputField( - example_values=[ - "34c5c7793cb3b279e22454cb6750c80560547b3a" # pragma: allowlist secret - ] # pragma: allowlist secret - ) - html_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/test/test-repo/pull/1#pullrequestreview-124575911" - ], - ) - id: float = OutputField(example_values=[124575911]) - node_id: str = OutputField( - example_values=[ - "MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MTI0NTc1OTEx" # pragma: allowlist secret - ] # pragma: allowlist secret - ) - pull_request_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/pulls/1"], - ) - state: str = OutputField(example_values=["commented"]) - submitted_at: str = OutputField(example_values=["2018-05-30T20:18:31Z"]) - user: UserOutput - - -class SenderOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars2.githubusercontent.com/u/39652351?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[406494157]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjM5NjUyMzUx"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class PayloadOutput(ActionOutput): - action: str | None = OutputField(example_values=["added"]) - after: str | None = OutputField( - cef_types=["sha1"], - example_values=[ - "286996c9d9bf535e9e2de7cb3bb11a7a67dc1c61" # pragma: allowlist secret - ], - ) - alert: AlertOutput | None = None - base_ref: str | None = None - before: str | None = OutputField( - cef_types=["sha1"], - example_values=[ - "286996c9d9bf535e9ebde7cb3bb11a7a67dcbc6b" # pragma: allowlist secret - ], - ) - blocked_user: BlockedUserOutput | None = None - changes: ChangesOutput | None = None - check_run: CheckRunOutput | None = None - check_suite: CheckSuiteOutput | None = None - comment: CommentOutput | None = None - commits: list[CommitsOutput] | None = None - compare: str | None = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/test/test-repo/compare/a10867b14bb7...000000000000" - ], - ) - created: bool | None = None - deleted: bool | None = None - description: str | None = OutputField(example_values=["test-repo-Description"]) - distinct_size: float | None = OutputField(example_values=[100]) - effective_date: str | None = OutputField( - example_values=["2017-10-25T00:00:00+00:00"] - ) - forced: bool | None = None - forkee: ForkeeOutput | None = None - head: str | None = OutputField( - cef_types=["sha1"], - example_values=[ - "9bfa971bc5662a6f90408b58a7b2453d7dae4f83" # pragma: allowlist secret - ], - ) - head_commit: HeadCommitOutput | None = None - installation: InstallationOutput | None = None - issue: IssueOutput | None = None - marketplace_purchase: MarketplacePurchaseOutput | None = None - master_branch: str | None = OutputField(example_values=["master"]) - member: MemberOutput | None = None - number: float | None = OutputField(example_values=[27999]) - organization: OrganizationOutput | None = None - pages: list[PagesOutput] | None = None - project: ProjectOutput | None = None - project_card: ProjectCardOutput | None = None - project_column: ProjectColumnOutput | None = None - pull_request: PullRequestOutput | None = None - push_id: float | None = OutputField(example_values=[2731668591]) - pusher_type: str | None = OutputField(example_values=["user"]) - ref: str | None = OutputField(example_values=["refs/heads/2.8"]) - ref_type: str | None = OutputField(example_values=["repository"]) - release: ReleaseOutput | None = None - repositories_added: list[RepositoriesAddedOutput] | None = None - repositories_removed: list[RepositoriesRemovedOutput] | None = None - repository: RepositoryOutput | None = None - repository_selection: str | None = OutputField(example_values=["selected"]) - review: ReviewOutput | None = None - sender: SenderOutput | None = None - size: float | None = OutputField(example_values=[2]) - - -class ListEventsOutput(ActionOutput): - actor: ActorOutput - created_at: str = OutputField(example_values=["2018-07-19T06:26:57Z"]) - id: str = OutputField(example_values=["7987124418"]) - org: OrgOutput | None - payload: PayloadOutput - public: bool - repo: RepoOutput - type: str = OutputField(example_values=["CreateEvent"]) - - -class ListEventsSummary(ActionOutput): - total_events: int = OutputField(example_values=[10]) - - -@app.action( - description="List events performed by a user", - action_type="investigate", - verbose="Action will list a maximum of 300 events. Only events from the past 90 days will be listed.", - view_handler=display_view, -) -def list_events( - params: ListEventsParams, soar: SOARClient, asset: Asset -) -> list[ListEventsOutput]: - endpoint = GITHUB_EVENTS_ENDPOINT.format(username=params.username) - results = [] - page = 1 - - while True: - response = call_github( - "GET", - endpoint, - asset, - params={"per_page": GITHUB_PAGINATION_MAX_SIZE, "page": page}, - ) - _check_response(response) - page_items = response.json() - results.extend(page_items) - - if len(page_items) < GITHUB_PAGINATION_MAX_SIZE or page >= 3: - break - page += 1 - - output = [ListEventsOutput(**item) for item in results] - soar.set_summary(ListEventsSummary(total_events=len(output))) - return output - - -class ListUsersParams(Params): - organization_name: str = Param( - description="Organization name", - primary=True, - cef_types=["github organization name"], - ) - limit: float | None = Param(description="Maximum number of users to be fetched") - - -class ListUsersOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/29919753?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[29939753]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjI5OTM5NzUz"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class ListUsersSummary(ActionOutput): - total_users: int = OutputField(example_values=[10]) - - -@app.action(description="List users of an organization", action_type="investigate") -def list_users( - params: ListUsersParams, soar: SOARClient, asset: Asset -) -> list[ListUsersOutput]: - limit = int(params.limit) if params.limit is not None else None - if limit is not None and limit <= 0: - raise ActionFailure("limit must be a positive integer") - endpoint = GITHUB_LIST_USERS_ENDPOINT.format( - organization_name=params.organization_name - ) - output = [ListUsersOutput(**u) for u in _paginate_all(endpoint, asset, limit=limit)] - soar.set_summary(ListUsersSummary(total_users=len(output))) - return output - - -def _paginate_all( - endpoint: str, - asset: Asset, - extra_params: dict | None = None, - limit: int | None = None, -) -> list: - """Exhaust all pages of a GitHub list endpoint and return every item, up to limit.""" - page, results = 1, [] - while True: - query = { - "per_page": GITHUB_PAGINATION_MAX_SIZE, - "page": page, - **(extra_params or {}), - } - response = call_github("GET", endpoint, asset, params=query) - _check_response(response) - page_items = response.json() - if isinstance(page_items, dict): - page_items = [page_items] - results.extend(page_items) - if limit is not None and len(results) >= limit: - return results[:limit] - if len(page_items) < GITHUB_PAGINATION_MAX_SIZE: - break - page += 1 - return results - - -def _resolve_team_id(team: str, org_name: str | None, asset: Asset) -> int: - """Return a numeric team ID from either a numeric string or a team name. - - Mirrors legacy _verify_and_get_team_id: numeric input is used directly; - a name requires org_name and triggers a search across GET /orgs/{org}/teams. - Raises ActionFailure when the team cannot be found. - """ - if team.isdigit(): - return int(team) - - if not org_name: - raise ActionFailure(GITHUB_ORGANIZATION_REQUIRED_MSG) - - teams = _paginate_all(GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=org_name), asset) - for t in teams: - if t.get(GITHUB_JSON_NAME, "").lower() == team.lower(): - return t[GITHUB_JSON_ID] - - raise ActionFailure(GITHUB_INVALID_TEAM_ID.format(team=team)) - - -def _check_response(response) -> None: - """Raise ActionFailure for any non-2xx GitHub API response.""" - if not response.is_success: - raise ActionFailure(f"GitHub API error {response.status_code}: {response.text}") - - -def _if_role_same(collaborator: dict, role: str) -> bool: - """Mirror of legacy _if_role_same: check whether collaborator's current permissions match role.""" - perms = collaborator.get(GITHUB_JSON_PERMISSIONS, {}) - pull = perms.get(GITHUB_REPO_ROLE_PULL, False) - push = perms.get(GITHUB_REPO_ROLE_PUSH, False) - admin = perms.get(GITHUB_REPO_ROLE_ADMIN, False) - if role == GITHUB_REPO_ROLE_PULL: - return pull and not push and not admin - if role == GITHUB_REPO_ROLE_PUSH: - return pull and push and not admin - if role == GITHUB_REPO_ROLE_ADMIN: - return pull and push and admin - return False - - -class RemoveCollaboratorParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - column_name="Repo Owner", - ) - repo_name: str = Param( - description="Name of the repository", - primary=True, - cef_types=["github repo"], - column_name="Repo Name", - ) - user: str = Param( - description="Username", - primary=True, - cef_types=["github username"], - column_name="User", - ) - - -class RemoveCollaboratorOutput(ActionOutput): - invite_deleted: bool = OutputField(column_name="Invite Deleted") - - -@app.action( - description="Remove user as a collaborator from the repo", - action_type="generic", - read_only=False, - verbose="If the user is not a direct collaborator to the repo, any pending invitations to the user will also be deleted.", - view_handler=display_view, -) -def remove_collaborator( - params: RemoveCollaboratorParams, soar: SOARClient, asset: Asset -) -> RemoveCollaboratorOutput: - repo = f"{params.repo_owner}/{params.repo_name}" - user = params.user - - direct_endpoint = GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo) - direct_collaborators = _paginate_all( - direct_endpoint, - asset, - extra_params={GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT}, - ) - - for collaborator in direct_collaborators: - if user.lower() == collaborator.get(GITHUB_JSON_LOGIN, "").lower(): - remove_endpoint = GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format( - repo_full_name=repo, user_name=user - ) - _check_response( - call_github(GITHUB_REQUEST_DELETE.upper(), remove_endpoint, asset) - ) - soar.set_message( - GITHUB_COLLABORATOR_REMOVED_MSG.format( - repo_full_name=repo, user_name=user - ) - ) - return RemoveCollaboratorOutput(invite_deleted=False) - - invitations_endpoint = GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format( - repo_full_name=repo - ) - pending = _paginate_all(invitations_endpoint, asset) - - invite_deleted = False - for invitation in pending: - if ( - user.lower() - == invitation.get(GITHUB_JSON_INVITEE, {}) - .get(GITHUB_JSON_LOGIN, "") - .lower() - ): - del_endpoint = GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( - repo_full_name=repo, invitation_id=invitation[GITHUB_JSON_ID] - ) - _check_response( - call_github(GITHUB_REQUEST_DELETE.upper(), del_endpoint, asset) - ) - invite_deleted = True - - if not invite_deleted: - soar.set_message( - GITHUB_USER_NOT_COLLABORATOR_MSG.format(user_name=user, repo_full_name=repo) - ) - else: - soar.set_message( - GITHUB_COLLABORATOR_REMOVED_MSG.format(repo_full_name=repo, user_name=user) - ) - return RemoveCollaboratorOutput(invite_deleted=invite_deleted) - - -class AddCollaboratorParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - column_name="Repo Owner", - ) - repo_name: str = Param( - description="Name of the repository", - primary=True, - cef_types=["github repo"], - column_name="Repo Name", - ) - user: str = Param( - description="Username", - primary=True, - cef_types=["github username"], - column_name="User", - ) - role: str | None = Param( - description="Role of the user (Default: Push)", - default="Push", - value_list=["Pull", "Push", "Admin"], - column_name="Role", - ) - override: bool | None = Param( - description="Override existing role of collaborator", - column_name="Override Role", - ) - - -class InviteeOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/29930053?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[29900753]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXlNcjI5OTM5NzUz"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class InviterOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/41300385?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[41300385]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDQ6VXlNcjQxMzMxMzg1"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class AddCollaboratorOutput(ActionOutput): - collaborator_added: bool = OutputField(column_name="Collaborator Added") - created_at: str | None = OutputField(example_values=["2018-07-25T12:47:00Z"]) - html_url: str | None = OutputField( - cef_types=["url"], - example_values=["https://github.com/test/test-repo/invitations"], - ) - id: float | None = OutputField(example_values=[10200401]) - invite_sent: bool = OutputField(column_name="Invite Sent") - invitee: InviteeOutput | None = OutputField() - inviter: InviterOutput | None = OutputField() - node_id: str | None = OutputField( - example_values=[ - "MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE=" # pragma: allowlist secret - ] # pragma: allowlist secret - ) - permissions: str | None = OutputField(example_values=["admin"]) - url: str | None = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/user/repository_invitations/10245401"], - ) - - -@app.action( - description="Add user as a collaborator to repo", - action_type="generic", - read_only=False, - verbose="For repo whose owner is an organization, if the user is not a member of the organization, GitHub will send an email invite to the user to join as a collaborator. Otherwise, he will be directly added as a collaborator. For repo whose owner is a user, GitHub will always send an email invite to the user to join as a collaborator. If an invite is already sent to the user, re-invite will not be sent. If the user is already a collaborator, his role will be updated.", - view_handler=display_view, -) -def add_collaborator( - params: AddCollaboratorParams, soar: SOARClient, asset: Asset -) -> AddCollaboratorOutput: - repo = f"{params.repo_owner}/{params.repo_name}" - user = params.user - role = (params.role or "Push").lower() - override = params.override or False - - role_mapping = { - GITHUB_REPO_ROLE_PULL: GITHUB_REPO_ROLE_READ, - GITHUB_REPO_ROLE_PUSH: GITHUB_REPO_ROLE_WRITE, - GITHUB_REPO_ROLE_ADMIN: GITHUB_REPO_ROLE_ADMIN, - } - - # 1. Check direct collaborators - direct_endpoint = GITHUB_LIST_COLLABORATOR_ENDPOINT.format(repo_full_name=repo) - direct_collaborators = _paginate_all( - direct_endpoint, - asset, - extra_params={GITHUB_PARAM_AFFILIATION: GITHUB_PARAM_AFFILIATION_DIRECT}, - ) - - collaborator_exists_diff_role = False - for collaborator in direct_collaborators: - if user.lower() == collaborator.get(GITHUB_JSON_LOGIN, "").lower(): - if _if_role_same(collaborator, role): - return AddCollaboratorOutput( - invite_sent=False, collaborator_added=False - ) - collaborator_exists_diff_role = True - break - else: - # 2. User is not a direct collaborator — check pending invitations - invitations_endpoint = ( - GITHUB_LIST_COLLABORATOR_PENDING_INVITATIONS_ENDPOINT.format( - repo_full_name=repo - ) - ) - pending = _paginate_all(invitations_endpoint, asset) - - for invitation in pending: - if ( - user.lower() - == invitation.get(GITHUB_JSON_INVITEE, {}) - .get(GITHUB_JSON_LOGIN, "") - .lower() - ): - if ( - role_mapping[role].lower() - == invitation.get(GITHUB_JSON_PERMISSIONS, "").lower() - ): - return AddCollaboratorOutput( - invite_sent=False, collaborator_added=False - ) - if override: - upd_endpoint = ( - GITHUB_UPDATE_DELETE_COLLABORATOR_INVITATION_ENDPOINT.format( - repo_full_name=repo, - invitation_id=invitation[GITHUB_JSON_ID], - ) - ) - _check_response( - call_github( - GITHUB_REQUEST_PATCH.upper(), - upd_endpoint, - asset, - json={GITHUB_JSON_PERMISSIONS: role_mapping[role]}, - ) - ) - return AddCollaboratorOutput( - invite_sent=True, collaborator_added=False - ) - raise ActionFailure(GITHUB_COLLABORATOR_INVITATION_NOT_UPDATED_MSG) - - # 3. Collaborator exists with different role — update only if override=True - if collaborator_exists_diff_role and not override: - raise ActionFailure(GITHUB_COLLABORATOR_ROLE_NOT_UPDATED_MSG) - - # 4. PUT /repos/{repo}/collaborators/{user} — adds new collaborator or updates role - add_endpoint = GITHUB_ADD_REMOVE_COLLABORATOR_ENDPOINT.format( - repo_full_name=repo, user_name=user - ) - response = call_github( - GITHUB_REQUEST_PUT.upper(), - add_endpoint, - asset, - json={GITHUB_JSON_REPO_ROLE: role}, - ) - _check_response(response) - - body = response.json() if response.content else {} - if body and isinstance(body, dict): - # 201 — invitation sent - soar.set_message( - GITHUB_COLLABORATOR_ADDED_MSG.format( - user_name=user, repo_full_name=repo, repo_role=role - ) - ) - return AddCollaboratorOutput( - **{ - **body, - GITHUB_JSON_INVITE_SENT: True, - GITHUB_JSON_COLLABORATOR_ADDED: False, - } - ) - # 204 — user directly added (org member) - soar.set_message( - GITHUB_COLLABORATOR_ADDED_MSG.format( - user_name=user, repo_full_name=repo, repo_role=role - ) - ) - return AddCollaboratorOutput(invite_sent=False, collaborator_added=True) - - -class RemoveMemberParams(Params): - organization_name: str | None = Param( - description="Organization name", - primary=True, - cef_types=["github organization name"], - column_name="Organization Name", - ) - team: str = Param( - description="Team name or team ID", - primary=True, - cef_types=["github team name", "github team id"], - column_name="Team", - ) - user: str = Param( - description="Username", - primary=True, - cef_types=["github username"], - column_name="User", - ) - - -class RemoveMemberOutput(ActionOutput): - status: str = OutputField( - example_values=["success", "failed"], column_name="Status" - ) - - -@app.action( - description="Remove user from the team", - action_type="generic", - read_only=False, - verbose="Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", - view_handler=display_view, -) -def remove_member( - params: RemoveMemberParams, soar: SOARClient, asset: Asset -) -> RemoveMemberOutput: - team_id = _resolve_team_id(params.team, params.organization_name, asset) - - members = _paginate_all(GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id), asset) - for member in members: - if member.get(GITHUB_JSON_LOGIN, "").lower() == params.user.lower(): - _check_response( - call_github( - GITHUB_REQUEST_DELETE.upper(), - GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( - team_id=team_id, user_name=params.user - ), - asset, - ) - ) - soar.set_message( - GITHUB_MEMBER_REMOVAL_MSG.format( - user_name=params.user, team=params.team - ) - ) - return RemoveMemberOutput(status="success") - - pending = _paginate_all( - GITHUB_LIST_MEMBERS_PENDING_INVITATIONS_ENDPOINT.format(team_id=team_id), asset - ) - for invitation in pending: - if params.user.lower() == invitation.get(GITHUB_JSON_LOGIN, "").lower(): - _check_response( - call_github( - GITHUB_REQUEST_DELETE.upper(), - GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( - team_id=team_id, user_name=params.user - ), - asset, - ) - ) - soar.set_message( - GITHUB_MEMBER_REMOVAL_MSG.format( - user_name=params.user, team=params.team - ) - ) - return RemoveMemberOutput(status="success") - - soar.set_message( - GITHUB_USER_NOT_TEAM_MEMBER_MSG.format(team=params.team, user_name=params.user) - ) - return RemoveMemberOutput(status="success") - - -class AddMemberParams(Params): - organization_name: str | None = Param( - description="Organization name", - primary=True, - cef_types=["github organization name"], - column_name="Organization Name", - ) - team: str = Param( - description="Team name or team ID", - primary=True, - cef_types=["github team name", "github team id"], - column_name="Team", - ) - user: str = Param( - description="Username", - primary=True, - cef_types=["github username"], - column_name="User", - ) - role: str | None = Param( - description="Role of the user (Default: Member)", - default="Member", - value_list=["Member", "Maintainer"], - column_name="Role", - ) - - -class AddMemberOutput(ActionOutput): - state: str = OutputField( - example_values=["active", "pending"], column_name="Membership State" - ) - status: str = OutputField( - example_values=["success", "failed"], column_name="Status" - ) - role: str = OutputField(example_values=["member", "maintainer"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/teams/2830072/memberships/test"], - ) - - -@app.action( - description="Add user in a team", - action_type="generic", - read_only=False, - verbose="Parameter 'organization name' is mandatory if the team name is provided instead of team ID.", - view_handler=display_view, -) -def add_member( - params: AddMemberParams, soar: SOARClient, asset: Asset -) -> AddMemberOutput: - role = (params.role or "Member").lower() - team_id = _resolve_team_id(params.team, params.organization_name, asset) - - members = _paginate_all( - GITHUB_GET_MEMBERS_ENDPOINT.format(team_id=team_id), - asset, - extra_params={GITHUB_JSON_ROLE: role}, - ) - for member in members: - if member.get(GITHUB_JSON_LOGIN, "").lower() == params.user.lower(): - soar.set_message( - GITHUB_ALREADY_TEAM_MEMBER_MSG.format( - user_name=params.user, team=params.team, role=role - ) - ) - return AddMemberOutput(**member, status="success") - - response = call_github( - GITHUB_REQUEST_PUT.upper(), - GITHUB_ADD_REMOVE_MEMBER_ENDPOINT.format( - team_id=team_id, user_name=params.user - ), - asset, - json={GITHUB_JSON_ROLE: role}, - ) - _check_response(response) - data = response.json() - if data.get("state") == "pending": - soar.set_message( - GITHUB_ADD_MEMBER_PENDING_MSG.format( - user_name=params.user, team=params.team, role=role - ) - ) - else: - soar.set_message( - GITHUB_ADD_MEMBER_MSG.format( - user_name=params.user, team=params.team, role=role - ) - ) - return AddMemberOutput(**data, status="success") - - -class ListTeamsParams(Params): - organization_name: str = Param( - description="Organization name", - primary=True, - cef_types=["github organization name"], - column_name="Organization Name", - ) - limit: float | None = Param(description="Maximum number of teams to be fetched") - - -class ListTeamsOutput(ActionOutput): - id: float = OutputField( - cef_types=["github team id"], example_values=[2825460], column_name="Team Id" - ) - name: str = OutputField( - cef_types=["github team name"], - example_values=["new team"], - column_name="Team Name", - ) - description: str | None = OutputField( - example_values=["New team"], column_name="Team Description" - ) - privacy: str = OutputField(example_values=["closed"], column_name="Privacy") - permission: str = OutputField(example_values=["pull"], column_name="Permission") - members_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/teams/2825460/members{/member}"], - ) - node_id: str = OutputField( - example_values=["MDQ6VGVhbTI4JmcyNjA="] # pragma: allowlist secret - ) - repositories_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/teams/2825460/repos"] - ) - slug: str = OutputField(example_values=["new-team"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/teams/2825460"] - ) - - -class ListTeamsSummary(ActionOutput): - total_teams: int = OutputField(example_values=[10]) - - -@app.action( - description="List all teams of an organization", - action_type="investigate", - view_handler=display_view, -) -def list_teams( - params: ListTeamsParams, soar: SOARClient, asset: Asset -) -> list[ListTeamsOutput]: - limit = int(params.limit) if params.limit is not None else None - if limit is not None and limit <= 0: - raise ActionFailure("limit must be a positive integer") - endpoint = GITHUB_LIST_TEAMS_ENDPOINT.format(org_name=params.organization_name) - output = [ListTeamsOutput(**t) for t in _paginate_all(endpoint, asset, limit=limit)] - soar.set_summary(ListTeamsSummary(total_teams=len(output))) - return output - - -class ListReposParams(Params): - organization_name: str = Param( - description="Organization name", - primary=True, - cef_types=["github organization name"], - column_name="Organization Name", - ) - limit: float | None = Param( - description="Maximum number of repositories to be fetched" - ) - - -class LicenseOutput(ActionOutput): - key: str = OutputField(example_values=["apache-2.0"]) - name: str = OutputField(example_values=["Apache License 2.0"]) - node_id: str = OutputField(example_values=["MDc6TGljZW5zZIT="]) - spdx_id: str = OutputField(example_values=["Apache-2.0"]) - url: str | None = OutputField( - cef_types=["url"], example_values=["https://api.github.com/licenses/apache-2.0"] - ) - - -class OwnerOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/41409665?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test"] - ) - id: float = OutputField(example_values=[41309165]) - login: str = OutputField(cef_types=["github username"], example_values=["test"]) - node_id: str = OutputField( - example_values=["MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test/repos"] - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/test/subscriptions"], - ) - type: str = OutputField(example_values=["Organization"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/test"] - ) - - -class PermissionsOutput(ActionOutput): - admin: bool - pull: bool - push: bool - - -class ListReposOutput(ActionOutput): - # Column fields in widget display order - id: float = OutputField(example_values=[141304012], column_name="Repo Id") - full_name: str = OutputField( - example_values=["test/test-repo"], column_name="Repo Full Name" - ) - description: str | None = OutputField( - example_values=["Test Repo 1"], column_name="Repo Description" - ) - repo_owner: str | None = OutputField( - cef_types=["github username"], example_values=["test"], column_name="Repo Owner" - ) - created_at: str = OutputField( - example_values=["2018-07-16T23:05:00Z"], column_name="Created At" - ) - updated_at: str = OutputField( - example_values=["2018-07-16T23:03:00Z"], column_name="Updated At" - ) - private: bool = OutputField(column_name="Is Private") - # Non-column fields - archive_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/{archive_format}{/ref}" - ], - ) - archived: bool - assignees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/assignees{/user}"], - ) - blobs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/blobs{/sha}"], - ) - branches_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/branches{/branch}" - ], - ) - clone_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo.git"] - ) - collaborators_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/collaborators{/collaborator}" - ], - ) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/comments{/number}" - ], - ) - commits_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/commits{/sha}"], - ) - compare_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/compare/{base}...{head}" - ], - ) - contents_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contents/{+path}"], - ) - contributors_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/contributors"], - ) - default_branch: str = OutputField(example_values=["master"]) - deployments_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/deployments"], - ) - downloads_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/downloads"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/events"], - ) - fork: bool - forks: float = OutputField(example_values=[0]) - forks_count: float = OutputField(example_values=[0]) - forks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/forks"], - ) - git_commits_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/git/commits{/sha}" - ], - ) - git_refs_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/refs{/sha}"], - ) - git_tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/tags{/sha}"], - ) - git_url: str = OutputField(example_values=["git://github.com/test/test-repo.git"]) - has_downloads: bool - has_issues: bool - has_pages: bool - has_projects: bool - has_wiki: bool - homepage: str | None = OutputField(cef_types=["url"]) - hooks_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/hooks"], - ) - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - issue_comment_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/comments{/number}" - ], - ) - issue_events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/issues/events{/number}" - ], - ) - issues_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/issues{/number}"], - ) - keys_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/keys{/key_id}"], - ) - labels_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/labels{/name}"], - ) - language: str | None - languages_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/languages"], - ) - license: LicenseOutput | None - merges_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/merges"], - ) - milestones_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/milestones{/number}" - ], - ) - mirror_url: str | None = OutputField(cef_types=["url"]) - name: str = OutputField(example_values=["test-repo"]) - node_id: str = OutputField( - example_values=["MDEwOlJlcG9zaXRvnckxNDEyMDQwMDA="] # pragma: allowlist secret - ) - notifications_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/test/test-repo/notifications{?since,all,participating}" - ], - ) - open_issues: float = OutputField(example_values=[0]) - open_issues_count: float = OutputField(example_values=[0]) - owner: OwnerOutput - permissions: PermissionsOutput | None - pulls_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/pulls{/number}"], - ) - pushed_at: str | None = OutputField(example_values=["2018-07-16T23:03:58Z"]) - releases_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/releases{/id}"], - ) - size: float = OutputField(example_values=[0]) - ssh_url: str = OutputField(example_values=["git@github.com:test/test-repo.git"]) - stargazers_count: float = OutputField(example_values=[0]) - stargazers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/stargazers"], - ) - statuses_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/statuses/{sha}"], - ) - subscribers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscribers"], - ) - subscription_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/subscription"], - ) - svn_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo"] - ) - tags_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/tags"], - ) - teams_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/teams"], - ) - trees_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo/git/trees{/sha}"], - ) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/test/test-repo"], - ) - watchers: float = OutputField(example_values=[0]) - watchers_count: float = OutputField(example_values=[0]) - - @model_validator(mode="before") - @classmethod - def _flatten_owner(cls, values): - if isinstance(values, dict) and "owner" in values: - owner = values["owner"] - if isinstance(owner, dict): - values.setdefault("repo_owner", owner.get("login")) - return values - - -class ListReposSummary(ActionOutput): - total_repos: int = OutputField(example_values=[10]) - - -@app.action( - description="List all repos of an organization", - action_type="investigate", - view_handler=display_view, -) -def list_repos( - params: ListReposParams, soar: SOARClient, asset: Asset -) -> list[ListReposOutput]: - limit = int(params.limit) if params.limit is not None else None - if limit is not None and limit <= 0: - raise ActionFailure("limit must be a positive integer") - endpoint = GITHUB_LIST_REPOS_ENDPOINT.format(org_name=params.organization_name) - output = [ListReposOutput(**r) for r in _paginate_all(endpoint, asset, limit=limit)] - soar.set_summary(ListReposSummary(total_repos=len(output))) - return output - - -class ListOrganizationsParams(Params): - limit: float | None = Param( - description="Maximum number of organizations to be fetched" - ) - - -class ListOrganizationsOutput(ActionOutput): - # Column fields in widget display order - id: float = OutputField(example_values=[41301665], column_name="Organization Id") - login: str = OutputField( - cef_types=["github organization name"], - example_values=["test"], - column_name="Organization Name", - ) - description: str | None = OutputField(column_name="Organization Description") - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/orgs/test"], - column_name="Organization Url", - ) - # Non-column fields - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/41301665?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/events"] - ) - hooks_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/hooks"] - ) - issues_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/issues"] - ) - members_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/orgs/test/members{/member}"], - ) - node_id: str = OutputField( - example_values=["MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1"] # pragma: allowlist secret - ) - public_members_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/orgs/test/public_members{/member}"], - ) - repos_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/orgs/test/repos"] - ) - - -class ListOrganizationsSummary(ActionOutput): - total_organizations: int = OutputField(example_values=[10]) - - -@app.action( - description="List all organizations", - action_type="investigate", - view_handler=display_view, -) -def list_organizations( - params: ListOrganizationsParams, soar: SOARClient, asset: Asset -) -> list[ListOrganizationsOutput]: - limit = int(params.limit) if params.limit is not None else None - if limit is not None and limit <= 0: - raise ActionFailure("limit must be a positive integer") - output = [ - ListOrganizationsOutput(**o) - for o in _paginate_all(GITHUB_LIST_ORGANIZATIONS_ENDPOINT, asset, limit=limit) - ] - soar.set_summary(ListOrganizationsSummary(total_organizations=len(output))) - return output - - -class ListIssuesParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - limit: float | None = Param(description="Maximum number of issues to be fetched") - - -class AssigneeOutput(ActionOutput): # noqa: F811 - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/id"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/username"] - ) - id: float = OutputField(example_values=[7614131]) - login: str = OutputField( - cef_types=["github username"], example_values=["testusername"] - ) - node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/username"] - ) - - -class AssigneesOutput(ActionOutput): # noqa: F811 - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/7614131?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/username"] - ) - id: float = OutputField(example_values=[7614131]) - login: str = OutputField(cef_types=["github username"], example_values=["username"]) - node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/username"] - ) - - -class LabelsOutput(ActionOutput): # noqa: F811 - color: str = OutputField(example_values=["a2eeef"]) - default: bool - id: float = OutputField(example_values=[864962287]) - name: str = OutputField(example_values=["enhancement"]) - node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/owner/repo/labels/enhancement"], - ) - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars0.githubusercontent.com/u/avatarid"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/username"] - ) - id: float = OutputField(example_values=[99999]) - login: str = OutputField(cef_types=["github username"], example_values=["username"]) - node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/username/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/username/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/username"] - ) - - -class ListIssuesOutput(ActionOutput): - assignee: AssigneeOutput | None - assignees: list[AssigneesOutput] - author_association: str = OutputField(example_values=["COLLABORATOR"]) - body: str | None = OutputField(example_values=["Test issue body right here"]) - closed_at: str | None - comments: float = OutputField(example_values=[0]) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/username/testrepo/issues/4/comments" - ], - ) - created_at: str = OutputField(example_values=["2018-04-23T01:15:25Z"]) - events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/username/testrepo/issues/4/events" - ], - ) - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/username/testrepo/issues/4"], - ) - id: float = OutputField(example_values=[316631564]) - labels: list[LabelsOutput] - labels_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/username/testrepo/issues/4/labels{/name}" - ], - ) - locked: bool - milestone: MilestoneOutput | None - node_id: str = OutputField(example_values=["LAKSJDOIWsase="]) - number: float = OutputField(cef_types=["github issue id"], example_values=[4]) - repository_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/username/testrepo"], - ) - state: str = OutputField(example_values=["open"]) - title: str = OutputField(example_values=["Test issue title here"]) - updated_at: str = OutputField(example_values=["2018-04-23T01:15:25Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/username/testrepo/issues/4"], - ) - user: UserOutput - - -class ListIssuesSummary(ActionOutput): - total_issues: int = OutputField(example_values=[10]) - - -@app.action( - description="Get a list of issues for the GitHub repository", - action_type="investigate", - view_handler=display_view, -) -def list_issues( - params: ListIssuesParams, soar: SOARClient, asset: Asset -) -> list[ListIssuesOutput]: - limit = int(params.limit) if params.limit is not None else None - if limit is not None and limit <= 0: - raise ActionFailure("limit must be a positive integer") - endpoint = GITHUB_ENDPOINT_ISSUES.format( - repo_owner=params.repo_owner, repo_name=params.repo_name - ) - output = [ - ListIssuesOutput(**i) for i in _paginate_all(endpoint, asset, limit=limit) - ] - soar.set_summary(ListIssuesSummary(total_issues=len(output))) - return output - - -class ListCommentsParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - issue_number: float = Param( - description="Issue ID", primary=True, cef_types=["github issue id"] - ) - limit: float | None = Param(description="Maximum number of comments to be fetched") - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/52245234"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[99999999]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class ListCommentsOutput(ActionOutput): - author_association: str = OutputField(example_values=["OWNER"]) - body: str | None = OutputField( - example_values=["I am writing a comment to this issue"] - ) - created_at: str = OutputField(example_values=["2019-07-16T19:52:27Z"]) - html_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/repoowner/TestingAPI/issues/1#issuecomment-511961016" - ], - ) - id: float = OutputField(example_values=[511961016]) - issue_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/1"], - ) - node_id: str = OutputField( - example_values=[ - "MDEyOklzc3VlQ29tbWVudDUxMTk2MTAxNg==" # pragma: allowlist secret - ] - ) - updated_at: str = OutputField(example_values=["2019-07-16T19:52:27Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511961016" - ], - ) - user: UserOutput - - -class ListCommentsSummary(ActionOutput): - total_comments: int = OutputField(example_values=[10]) - - -@app.action( - description="List comments for an issue on the GitHub repository", - action_type="investigate", -) -def list_comments( - params: ListCommentsParams, soar: SOARClient, asset: Asset -) -> list[ListCommentsOutput]: - limit = int(params.limit) if params.limit is not None else None - if limit is not None and limit <= 0: - raise ActionFailure("limit must be a positive integer") - endpoint = GITHUB_ENDPOINT_COMMENTS.format( - repo_owner=params.repo_owner, - repo_name=params.repo_name, - issue_number=int(params.issue_number), - ) - output = [ - ListCommentsOutput(**c) for c in _paginate_all(endpoint, asset, limit=limit) - ] - soar.set_summary(ListCommentsSummary(total_comments=len(output))) - return output - - -class GetIssueParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - issue_number: float = Param( - description="Issue ID", primary=True, cef_types=["github issue id"] - ) - - -class AssigneeOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class AssigneesOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class ClosedByOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/testbg11"] - ) - id: float = OutputField(example_values=[53362718]) - login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] - ) - - -class GetIssueOutput(ActionOutput): - assignee: AssigneeOutput | None - assignees: list[AssigneesOutput] - author_association: str = OutputField(example_values=["OWNER"]) - body: str | None = OutputField( - example_values=["This is the body I believe of the issue"] - ) - closed_at: str | None - closed_by: ClosedByOutput | None - comments: float = OutputField(example_values=[1]) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments" - ], - ) - created_at: str = OutputField(example_values=["2019-07-16T19:52:15Z"]) - events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1/events" - ], - ) - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/repoowner/TestingAPI/issues/1"], - ) - id: float = OutputField(example_values=[468834090]) - labels_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name}" - ], - ) - locked: bool - milestone: MilestoneOutput | None - node_id: str = OutputField( - example_values=["MDU6SXNzdWU0Njg4MzQwOTA="] # pragma: allowlist secret - ) - number: float = OutputField(cef_types=["github issue id"], example_values=[1]) - repository_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/repoowner/TestingAPI"], - ) - state: str = OutputField(example_values=["open"]) - title: str = OutputField(example_values=["This is a Test Issue"]) - updated_at: str = OutputField(example_values=["2019-07-16T20:00:23Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/1"], - ) - user: UserOutput - - -class GetIssueSummary(ActionOutput): - issue_number: float | None = OutputField(example_values=[1]) - issue_url: str | None = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] - ) - - -@app.action( - description="Retrieve an issue for the GitHub repository", action_type="investigate" -) -def get_issue(params: GetIssueParams, soar: SOARClient, asset: Asset) -> GetIssueOutput: - endpoint = GITHUB_ENDPOINT_GET_ISSUE.format( - repo_owner=params.repo_owner, - repo_name=params.repo_name, - issue_number=int(params.issue_number), - ) - response = call_github("GET", endpoint, asset) - _check_response(response) - data = response.json() - soar.set_summary( - GetIssueSummary(issue_number=data.get("number"), issue_url=data.get("html_url")) - ) - return GetIssueOutput(**data) - - -class CreateIssueParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - issue_title: str = Param(description="Title of the issue") - issue_body: str | None = Param(description="Contents of the issue") - assignees: str | None = Param( - description="Comma-separated list of logins (usernames) for the users to assign to this issue", - primary=True, - cef_types=["github username"], - ) - labels: str | None = Param( - description="Comma-separated list of labels to associate with this issue" - ) - - -class AssigneeOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class AssigneesOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class LabelsOutput(ActionOutput): - color: str = OutputField(example_values=["ededed"]) - default: bool - id: float = OutputField(example_values=[1454469929]) - name: str = OutputField(example_values=["test"]) - node_id: str = OutputField( - example_values=["MDU6TGFiZWwxNDU0NDY5OTI5"] # pragma: allowlist secret - ) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/labels/test" - ], - ) - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class CreateIssueOutput(ActionOutput): - assignee: AssigneeOutput | None - assignees: list[AssigneesOutput] - author_association: str = OutputField(example_values=["OWNER"]) - body: str | None = OutputField( - example_values=["This is what the body looks like when testing from the app"] - ) - closed_at: str | None - closed_by: ClosedByOutput | None - comments: float = OutputField(example_values=[0]) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments" - ], - ) - created_at: str = OutputField(example_values=["2019-07-16T20:07:26Z"]) - events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2/events" - ], - ) - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/repoowner/TestingAPI/issues/2"], - ) - id: float = OutputField(example_values=[468840014]) - labels: list[LabelsOutput] - labels_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name}" - ], - ) - locked: bool - milestone: MilestoneOutput | None - node_id: str = OutputField( - example_values=["MDU6SXNzdWU0Njg4NDAwMTQ="] # pragma: allowlist secret - ) - number: float = OutputField(cef_types=["github issue id"], example_values=[2]) - repository_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/repoowner/TestingAPI"], - ) - state: str = OutputField(example_values=["open"]) - title: str = OutputField(example_values=["I am testing from the app"]) - updated_at: str = OutputField(example_values=["2019-07-16T20:07:27Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/2"], - ) - user: UserOutput - - -class CreateIssueSummary(ActionOutput): - issue_number: float | None = OutputField(example_values=[1]) - issue_url: str | None = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] - ) - - -@app.action( - description="Create an issue for the GitHub repository", - action_type="generic", - read_only=False, - verbose="Only users with push access can set assignees/labels for the issues. \nAssignees/labels are silently dropped otherwise.", - view_handler=display_view, -) -def create_issue( - params: CreateIssueParams, soar: SOARClient, asset: Asset -) -> CreateIssueOutput: - assignees = [x.strip() for x in (params.assignees or "").split(",") if x.strip()] - labels = [x.strip() for x in (params.labels or "").split(",") if x.strip()] - body = { - "title": params.issue_title, - "body": params.issue_body or "", - "assignees": assignees, - "labels": labels, - } - endpoint = GITHUB_ENDPOINT_ISSUES.format( - repo_owner=params.repo_owner, repo_name=params.repo_name - ) - response = call_github(GITHUB_REQUEST_POST.upper(), endpoint, asset, json=body) - _check_response(response) - data = response.json() - soar.set_summary( - CreateIssueSummary( - issue_number=data.get("number"), issue_url=data.get("html_url") - ) - ) - return CreateIssueOutput(**data) - - -class UpdateIssueParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - issue_number: float = Param( - description="Issue ID", primary=True, cef_types=["github issue id"] - ) - state: str | None = Param( - description="State of the issue", value_list=["open", "closed"] - ) - issue_title: str | None = Param(description="Title of the issue") - issue_body: str | None = Param(description="Contents of the issue") - assignees: str | None = Param( - description="Comma-separated list of logins (usernames) for the users to assign to this issue", - primary=True, - cef_types=["github username"], - ) - labels: str | None = Param( - description="Comma-separated list of labels to associate with this issue" - ) - to_empty: bool | None = Param( - description="Empty the field values of the issue for which the parameter values are not provided", - default=False, - ) - - -class AssigneeOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/testbg11"] - ) - id: float = OutputField(example_values=[53362718]) - login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] - ) - - -class AssigneesOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/testbg11"] - ) - id: float = OutputField(example_values=[53362718]) - login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] - ) - - -class LabelsOutput(ActionOutput): - color: str = OutputField(example_values=["ededed"]) - default: bool - id: float = OutputField(example_values=[1474194162]) - name: str = OutputField(example_values=["demo_update"]) - node_id: str = OutputField( - example_values=["MDU6TGFiZWwxNDc0MTk0MTYy"] # pragma: allowlist secret - ) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/testbg11/Testing1/labels/demo_update" - ], - ) - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/53362718?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/following{/other_user}"], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/testbg11"] - ) - id: float = OutputField(example_values=[53362718]) - login: str = OutputField(cef_types=["github username"], example_values=["testbg11"]) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjUzMzYyNzE4"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11/orgs"] - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/starred{/owner}{/repo}"], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/testbg11/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] - ) - - -class UpdateIssueOutput(ActionOutput): - assignee: AssigneeOutput | None - assignees: list[AssigneesOutput] - author_association: str = OutputField(example_values=["OWNER"]) - body: str | None = OutputField(example_values=["test update body"]) - closed_at: str | None = OutputField(example_values=["2019-07-29T11:24:09Z"]) - closed_by: ClosedByOutput | None - comments: float = OutputField(example_values=[1]) - comments_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/testbg11/Testing1/issues/1/comments" - ], - ) - created_at: str = OutputField(example_values=["2019-07-27T05:42:57Z"]) - events_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/testbg11/Testing1/issues/1/events" - ], - ) - html_url: str = OutputField( - cef_types=["url"], - example_values=["https://github.com/testbg11/Testing1/issues/1"], - ) - id: float = OutputField(example_values=[473601979]) - labels: list[LabelsOutput] - labels_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/testbg11/Testing1/issues/1/labels{/name}" - ], - ) - locked: bool - milestone: MilestoneOutput | None - node_id: str = OutputField( - example_values=["MDU6SXNzdWU0NzM2MDE5Nzk="] # pragma: allowlist secret - ) - number: float = OutputField(cef_types=["github issue id"], example_values=[1]) - repository_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/testbg11/Testing1"], - ) - state: str = OutputField(example_values=["closed"]) - title: str = OutputField(example_values=["update test title"]) - updated_at: str = OutputField(example_values=["2019-07-29T11:27:10Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/testbg11/Testing1/issues/1"], - ) - user: UserOutput - - -class UpdateIssueSummary(ActionOutput): - issue_number: float | None = OutputField(example_values=[1]) - issue_url: str | None = OutputField( - cef_types=["url"], example_values=["https://github.com/test/test-repo/issues/1"] - ) - - -@app.action( - description="Update an issue for the GitHub repository", - action_type="generic", - read_only=False, - verbose="Only users with push access can set assignees/labels for new issues. \nAssignees/labels are silently dropped otherwise. The existing labels and assignees of the issue will be replaced with the labels and assignees provided in the respective input parameters by the user. If the to_empty parameter is checked, then, it will empty the field values of the issue (except for the title and the state of the issue) for which the parameter values are not provided or kept empty. If the to_empty parameter is not checked, then, it will simply ignore the empty parameter values from being updated on the issue.", - view_handler=display_view, -) -def update_issue( - params: UpdateIssueParams, soar: SOARClient, asset: Asset -) -> UpdateIssueOutput: - assignees = [x.strip() for x in (params.assignees or "").split(",") if x.strip()] - labels = [x.strip() for x in (params.labels or "").split(",") if x.strip()] - to_empty = params.to_empty or False - - if to_empty: - body: dict = { - "body": params.issue_body, - "assignees": assignees, - "labels": labels, - } - else: - body = {} - if params.issue_body: - body["body"] = params.issue_body - if assignees: - body["assignees"] = assignees - if labels: - body["labels"] = labels - - if params.issue_title: - body["title"] = params.issue_title - if params.state: - body["state"] = params.state - - endpoint = GITHUB_ENDPOINT_GET_ISSUE.format( - repo_owner=params.repo_owner, - repo_name=params.repo_name, - issue_number=int(params.issue_number), - ) - response = call_github(GITHUB_REQUEST_PATCH.upper(), endpoint, asset, json=body) - _check_response(response) - data = response.json() - soar.set_summary( - UpdateIssueSummary( - issue_number=data.get("number"), issue_url=data.get("html_url") - ) - ) - return UpdateIssueOutput(**data) - - -class CreateCommentParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - issue_number: float = Param( - description="Issue ID", primary=True, cef_types=["github issue id"] - ) - comment_body: str = Param(description="Contents of a comment to add to the issue") - - -class UserOutput(ActionOutput): - avatar_url: str = OutputField( - cef_types=["url"], - example_values=["https://avatars3.githubusercontent.com/u/11890709?v=4"], - ) - events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/events{/privacy}"], - ) - followers_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/followers"], - ) - following_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/following{/other_user}" - ], - ) - gists_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/gists{/gist_id}"], - ) - gravatar_id: str | None - html_url: str = OutputField( - cef_types=["url"], example_values=["https://github.com/repoowner"] - ) - id: float = OutputField(example_values=[11890709]) - login: str = OutputField( - cef_types=["github username"], example_values=["repoowner"] - ) - node_id: str = OutputField( - example_values=["MDQ6VXNlcjExODkwNzA5"] # pragma: allowlist secret - ) - organizations_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/orgs"], - ) - received_events_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/received_events"], - ) - repos_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/repos"], - ) - site_admin: bool - starred_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/users/repoowner/starred{/owner}{/repo}" - ], - ) - subscriptions_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/users/repoowner/subscriptions"], - ) - type: str = OutputField(example_values=["User"]) - url: str = OutputField( - cef_types=["url"], example_values=["https://api.github.com/users/repoowner"] - ) - - -class CreateCommentOutput(ActionOutput): - author_association: str = OutputField(example_values=["OWNER"]) - body: str = OutputField(example_values=["I am adding a comment from the app"]) - created_at: str = OutputField(example_values=["2019-07-16T20:11:38Z"]) - html_url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194" - ], - ) - id: float = OutputField(example_values=[511967194]) - issue_url: str = OutputField( - cef_types=["url"], - example_values=["https://api.github.com/repos/repoowner/TestingAPI/issues/2"], - ) - node_id: str = OutputField( - example_values=[ - "MDEyOklzc3VlQ29tbWVudDUxMTk2NzE5NA==" # pragma: allowlist secret - ] - ) - updated_at: str = OutputField(example_values=["2019-07-16T20:11:38Z"]) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511967194" - ], - ) - user: UserOutput - - -class CreateCommentSummary(ActionOutput): - comment_id: float | None = OutputField(example_values=[1]) - comment_url: str | None = OutputField( - cef_types=["url"], - example_values=["https://github.com/test/test-repo/issues/1#issuecomment-1"], - ) - - -@app.action( - description="Create a comment for an issue on the GitHub repository", - action_type="generic", - read_only=False, -) -def create_comment( - params: CreateCommentParams, soar: SOARClient, asset: Asset -) -> CreateCommentOutput: - endpoint = GITHUB_ENDPOINT_COMMENTS.format( - repo_owner=params.repo_owner, - repo_name=params.repo_name, - issue_number=int(params.issue_number), - ) - response = call_github( - GITHUB_REQUEST_POST.upper(), endpoint, asset, json={"body": params.comment_body} - ) - _check_response(response) - data = response.json() - soar.set_summary( - CreateCommentSummary( - comment_id=data.get("id"), comment_url=data.get("html_url") - ) - ) - return CreateCommentOutput(**data) - - -class AddLabelsParams(Params): - repo_owner: str = Param( - description="Owner of the repository", - primary=True, - cef_types=["github repo owner", "github username"], - ) - repo_name: str = Param( - description="Name of the repository", primary=True, cef_types=["github repo"] - ) - issue_number: float = Param( - description="Issue ID", primary=True, cef_types=["github issue id"] - ) - labels: str = Param( - description="Comma-separated list of labels to add to the issue" - ) - - -class AddLabelsOutput(ActionOutput): - color: str = OutputField(example_values=["ededed"]) - default: bool - id: float = OutputField(example_values=[1454479580]) - name: str = OutputField(example_values=["app-testing"]) - node_id: str = OutputField( - example_values=["MDU6TGFiZWwxNDU0NDc5NTgw"] # pragma: allowlist secret - ) - url: str = OutputField( - cef_types=["url"], - example_values=[ - "https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing" - ], - ) - - -@app.action( - description="Add label(s) to an issue on the GitHub repository", - action_type="generic", - read_only=False, - verbose="Only users with push access can set labels for the issues.", -) -def add_labels( - params: AddLabelsParams, soar: SOARClient, asset: Asset -) -> list[AddLabelsOutput]: - labels = [label.strip() for label in params.labels.split(",") if label.strip()] - - endpoint = GITHUB_ENDPOINT_LABELS.format( - repo_owner=params.repo_owner, - repo_name=params.repo_name, - issue_number=int(params.issue_number), - ) - response = call_github( - GITHUB_REQUEST_POST.upper(), endpoint, asset, json={"labels": labels} - ) - _check_response(response) - soar.set_message( - GITHUB_LABEL_ADDED_MSG.format( - labels=",".join(labels), issue_number=int(params.issue_number) - ) - ) - return [AddLabelsOutput(**label) for label in response.json()] - - -RepositoryOutput.model_rebuild() -LinksOutput.model_rebuild() +# Import action modules — registers all @app.action() handlers as a side-effect +from .actions import ( # noqa: F401, E402 + _helpers, + add_collaborator, + add_labels, + add_member, + create_comment, + create_issue, + get_issue, + list_comments, + list_events, + list_issues, + list_organizations, + list_repos, + list_teams, + list_users, + make_req, + remove_collaborator, + remove_member, + update_issue, +) + +from .actions._helpers import ( # noqa: F401 + _check_response, + _if_role_same, + _paginate_all, + _resolve_team_id, +) +from .actions.add_collaborator import AddCollaboratorParams, add_collaborator # noqa: F401 +from .actions.add_labels import AddLabelsParams, add_labels # noqa: F401 +from .actions.add_member import AddMemberParams, add_member # noqa: F401 +from .actions.create_comment import CreateCommentParams, create_comment # noqa: F401 +from .actions.create_issue import CreateIssueParams, create_issue # noqa: F401 +from .actions.get_issue import GetIssueParams, get_issue # noqa: F401 +from .actions.list_comments import ListCommentsParams, list_comments # noqa: F401 +from .actions.list_events import ListEventsParams, list_events # noqa: F401 +from .actions.list_issues import ListIssuesParams, list_issues # noqa: F401 +from .actions.list_organizations import ListOrganizationsParams, list_organizations # noqa: F401 +from .actions.list_repos import ListReposParams, list_repos # noqa: F401 +from .actions.list_teams import ListTeamsParams, list_teams # noqa: F401 +from .actions.list_users import ListUsersParams, list_users # noqa: F401 +from .actions.remove_collaborator import RemoveCollaboratorParams, remove_collaborator # noqa: F401 +from .actions.remove_member import RemoveMemberParams, remove_member # noqa: F401 +from .actions.update_issue import UpdateIssueParams, update_issue # noqa: F401 if __name__ == "__main__": app.cli() From 7402d8b75a1fd20b6d132c57c0e9ea3e479666c8 Mon Sep 17 00:00:00 2001 From: Abhay Goel Date: Tue, 23 Jun 2026 12:54:11 +0530 Subject: [PATCH 5/5] Pre-Commit-Fixes --- README.md | 3406 ++++++++++++++-------------- src/actions/add_collaborator.py | 2 +- src/actions/add_labels.py | 2 +- src/actions/add_member.py | 2 +- src/actions/create_comment.py | 2 +- src/actions/create_issue.py | 3 +- src/actions/get_issue.py | 2 +- src/actions/list_comments.py | 2 +- src/actions/list_events.py | 2 + src/actions/list_issues.py | 2 +- src/actions/list_organizations.py | 2 +- src/actions/list_repos.py | 1 + src/actions/list_teams.py | 2 +- src/actions/list_users.py | 1 + src/actions/remove_collaborator.py | 2 +- src/actions/remove_member.py | 2 +- src/actions/update_issue.py | 3 +- src/app.py | 25 +- 18 files changed, 1678 insertions(+), 1785 deletions(-) diff --git a/README.md b/README.md index a33834a..998c19b 100644 --- a/README.md +++ b/README.md @@ -21,27 +21,27 @@ VARIABLE | REQUIRED | TYPE | DESCRIPTION ### Supported Actions [test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using supplied configuration.
-[list events](#action-list-events) - List events performed by a user
-[list users](#action-list-users) - List users of an organization
-[remove collaborator](#action-remove-collaborator) - Remove user as a collaborator from the repo
[add collaborator](#action-add-collaborator) - Add user as a collaborator to repo
-[remove member](#action-remove-member) - Remove user from the team
+[add labels](#action-add-labels) - Add label(s) to an issue on the GitHub repository
[add member](#action-add-member) - Add user in a team
-[list teams](#action-list-teams) - List all teams of an organization
-[list repos](#action-list-repos) - List all repos of an organization
-[list organizations](#action-list-organizations) - List all organizations
-[list issues](#action-list-issues) - Get a list of issues for the GitHub repository
-[list comments](#action-list-comments) - List comments for an issue on the GitHub repository
-[get issue](#action-get-issue) - Retrieve an issue for the GitHub repository
-[create issue](#action-create-issue) - Create an issue for the GitHub repository
-[update issue](#action-update-issue) - Update an issue for the GitHub repository
[create comment](#action-create-comment) - Create a comment for an issue on the GitHub repository
-[add labels](#action-add-labels) - Add label(s) to an issue on the GitHub repository
+[create issue](#action-create-issue) - Create an issue for the GitHub repository
+[get issue](#action-get-issue) - Retrieve an issue for the GitHub repository
+[list comments](#action-list-comments) - List comments for an issue on the GitHub repository
+[list events](#action-list-events) - List events performed by a user
+[list issues](#action-list-issues) - Get a list of issues for the GitHub repository
+[list organizations](#action-list-organizations) - List all organizations
+[list repos](#action-list-repos) - List all repos of an organization
+[list teams](#action-list-teams) - List all teams of an organization
+[list users](#action-list-users) - List users of an organization
[make request](#action-make-request) - Execute an arbitrary HTTP request against the GitHub API. Handles all three authentication modes configured on the asset: username/password basic auth, personal access token, and OAuth Bearer token. -The endpoint is appended to https://api.github.com — do not include the base URL. +The endpoint is appended to https://api.github.com — do not include the base URL.
+[remove collaborator](#action-remove-collaborator) - Remove user as a collaborator from the repo
+[remove member](#action-remove-member) - Remove user from the team
+[update issue](#action-update-issue) - Update an issue for the GitHub repository ## action: 'test connectivity' @@ -65,20 +65,24 @@ action_result.message | string | | | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'list events' +## action: 'add collaborator' -List events performed by a user +Add user as a collaborator to repo -Type: **investigate**
-Read only: **True** +Type: **generic**
+Read only: **False** -Action will list a maximum of 300 events. Only events from the past 90 days will be listed. +For repo whose owner is an organization, if the user is not a member of the organization, GitHub will send an email invite to the user to join as a collaborator. Otherwise, he will be directly added as a collaborator. For repo whose owner is a user, GitHub will always send an email invite to the user to join as a collaborator. If an invite is already sent to the user, re-invite will not be sent. If the user is already a collaborator, his role will be updated. #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**username** | required | Username | string | `github username` | +**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | +**repo_name** | required | Name of the repository | string | `github repo` | +**user** | required | Username | string | `github username` | +**role** | optional | Role of the user (Default: Push) | string | | +**override** | optional | Override existing role of collaborator | boolean | | #### Action Output @@ -86,996 +90,112 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- action_result.status | string | | success failure | action_result.message | string | | | -action_result.parameter.username | string | `github username` | | -action_result.data.\*.actor.avatar_url | string | `url` | https://avatars.githubusercontent.com/u/41301719? | -action_result.data.\*.actor.display_login | string | `github username` | test | -action_result.data.\*.actor.gravatar_id | string | | | -action_result.data.\*.actor.id | numeric | | 41301719 | -action_result.data.\*.actor.login | string | `github username` | test | -action_result.data.\*.actor.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.created_at | string | | 2018-07-19T06:26:57Z | -action_result.data.\*.id | string | | 7987124418 | -action_result.data.\*.org.avatar_url | string | `url` | https://avatars.githubusercontent.com/u/41301665? | -action_result.data.\*.org.gravatar_id | string | | | -action_result.data.\*.org.id | numeric | | 41301665 | -action_result.data.\*.org.login | string | `github organization name` | test | -action_result.data.\*.org.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.payload.action | string | | added | -action_result.data.\*.payload.after | string | `sha1` | 286996c9d9bf535e9e2de7cb3bb11a7a67dc1c61 | -action_result.data.\*.payload.alert.affected_package_name | string | | many_versioned_gem | -action_result.data.\*.payload.alert.affected_range | string | | 0.2.0 | -action_result.data.\*.payload.alert.dismiss_reason | string | | No bandwidth to fix this | -action_result.data.\*.payload.alert.dismissed_at | string | | 2017-10-25T00:00:00+00:00 | -action_result.data.\*.payload.alert.dismisser.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.alert.dismisser.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.alert.dismisser.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.alert.dismisser.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.alert.dismisser.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.alert.dismisser.gravatar_id | string | | | -action_result.data.\*.payload.alert.dismisser.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.alert.dismisser.id | numeric | | 1032411 | -action_result.data.\*.payload.alert.dismisser.login | string | `github username` | test | -action_result.data.\*.payload.alert.dismisser.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.alert.dismisser.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.alert.dismisser.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.alert.dismisser.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.alert.dismisser.site_admin | boolean | | True False | -action_result.data.\*.payload.alert.dismisser.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.alert.dismisser.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.alert.dismisser.type | string | | User | -action_result.data.\*.payload.alert.dismisser.url | string | `url` | https://api.github.com/users/octocat | -action_result.data.\*.payload.alert.external_identifier | string | | CVE-2018-3728 | -action_result.data.\*.payload.alert.external_reference | string | `url` | https://nvd.nist.gov/vuln/detail/CVE-2018-3728 | -action_result.data.\*.payload.alert.fixed_in | string | | 0.2.5 | -action_result.data.\*.payload.alert.id | numeric | | 7649605 | -action_result.data.\*.payload.base_ref | string | | | -action_result.data.\*.payload.before | string | `sha1` | 286996c9d9bf535e9ebde7cb3bb11a7a67dcbc6b | -action_result.data.\*.payload.blocked_user.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/39652351?v=4 | -action_result.data.\*.payload.blocked_user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.blocked_user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.blocked_user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.blocked_user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.blocked_user.gravatar_id | string | | | -action_result.data.\*.payload.blocked_user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.blocked_user.id | numeric | | 406494157 | -action_result.data.\*.payload.blocked_user.login | string | `github username` | test | -action_result.data.\*.payload.blocked_user.node_id | string | | MDQ6VXNlcjM5NjUyMzUx | -action_result.data.\*.payload.blocked_user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.blocked_user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.blocked_user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.blocked_user.site_admin | boolean | | True False | -action_result.data.\*.payload.blocked_user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.blocked_user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.blocked_user.type | string | | User | -action_result.data.\*.payload.blocked_user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.changes.body.from | string | | | -action_result.data.\*.payload.changes.color.from | string | | | -action_result.data.\*.payload.changes.description.from | string | | | -action_result.data.\*.payload.changes.due_on.from | string | | | -action_result.data.\*.payload.changes.name.from | string | | | -action_result.data.\*.payload.changes.note.from | string | | | -action_result.data.\*.payload.changes.permission.from | string | | write | -action_result.data.\*.payload.changes.privacy.from | string | | | -action_result.data.\*.payload.changes.repository.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | -action_result.data.\*.payload.changes.repository.archived | boolean | | True False | -action_result.data.\*.payload.changes.repository.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | -action_result.data.\*.payload.changes.repository.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | -action_result.data.\*.payload.changes.repository.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | -action_result.data.\*.payload.changes.repository.clone_url | string | `url` | https://github.com/test/test-repo.git | -action_result.data.\*.payload.changes.repository.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | -action_result.data.\*.payload.changes.repository.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | -action_result.data.\*.payload.changes.repository.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | -action_result.data.\*.payload.changes.repository.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | -action_result.data.\*.payload.changes.repository.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | -action_result.data.\*.payload.changes.repository.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | -action_result.data.\*.payload.changes.repository.created_at | string | | 2018-05-30T20:18:04Z | -action_result.data.\*.payload.changes.repository.default_branch | string | | master | -action_result.data.\*.payload.changes.repository.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | -action_result.data.\*.payload.changes.repository.description | string | | | -action_result.data.\*.payload.changes.repository.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | -action_result.data.\*.payload.changes.repository.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | -action_result.data.\*.payload.changes.repository.fork | boolean | | True False | -action_result.data.\*.payload.changes.repository.forks | numeric | | 0 | -action_result.data.\*.payload.changes.repository.forks_count | numeric | | 0 | -action_result.data.\*.payload.changes.repository.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | -action_result.data.\*.payload.changes.repository.full_name | string | | test/test-repo | -action_result.data.\*.payload.changes.repository.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | -action_result.data.\*.payload.changes.repository.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | -action_result.data.\*.payload.changes.repository.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | -action_result.data.\*.payload.changes.repository.git_url | string | | git://github.com/test/test-repo.git | -action_result.data.\*.payload.changes.repository.has_downloads | boolean | | True False | -action_result.data.\*.payload.changes.repository.has_issues | boolean | | True False | -action_result.data.\*.payload.changes.repository.has_pages | boolean | | True False | -action_result.data.\*.payload.changes.repository.has_projects | boolean | | True False | -action_result.data.\*.payload.changes.repository.has_wiki | boolean | | True False | -action_result.data.\*.payload.changes.repository.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.changes.repository.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | -action_result.data.\*.payload.changes.repository.html_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.changes.repository.id | numeric | | 135493233 | -action_result.data.\*.payload.changes.repository.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | -action_result.data.\*.payload.changes.repository.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | -action_result.data.\*.payload.changes.repository.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | -action_result.data.\*.payload.changes.repository.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | -action_result.data.\*.payload.changes.repository.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | -action_result.data.\*.payload.changes.repository.language | string | | | -action_result.data.\*.payload.changes.repository.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | -action_result.data.\*.payload.changes.repository.license.key | string | | apache-2.0 | -action_result.data.\*.payload.changes.repository.license.name | string | | Apache License 2.0 | -action_result.data.\*.payload.changes.repository.license.node_id | string | | MDc6TGljZW5zZIT= | -action_result.data.\*.payload.changes.repository.license.spdx_id | string | | Apache-2.0 | -action_result.data.\*.payload.changes.repository.license.url | string | `url` | https://api.github.com/licenses/apache-2.0 | -action_result.data.\*.payload.changes.repository.master_branch | string | | master | -action_result.data.\*.payload.changes.repository.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | -action_result.data.\*.payload.changes.repository.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | -action_result.data.\*.payload.changes.repository.mirror_url | string | `url` | | -action_result.data.\*.payload.changes.repository.name | string | | test-repo | -action_result.data.\*.payload.changes.repository.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | -action_result.data.\*.payload.changes.repository.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | -action_result.data.\*.payload.changes.repository.open_issues | numeric | | 0 | -action_result.data.\*.payload.changes.repository.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.changes.repository.owner.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41409665?v=4 | -action_result.data.\*.payload.changes.repository.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.changes.repository.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.changes.repository.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.changes.repository.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.changes.repository.owner.gravatar_id | string | | | -action_result.data.\*.payload.changes.repository.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.changes.repository.owner.id | numeric | | 41309165 | -action_result.data.\*.payload.changes.repository.owner.login | string | `github username` | test | -action_result.data.\*.payload.changes.repository.owner.node_id | string | | MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1 | -action_result.data.\*.payload.changes.repository.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.changes.repository.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.changes.repository.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.changes.repository.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.changes.repository.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.changes.repository.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.changes.repository.owner.type | string | | Organization | -action_result.data.\*.payload.changes.repository.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.changes.repository.private | boolean | | True False | -action_result.data.\*.payload.changes.repository.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | -action_result.data.\*.payload.changes.repository.pushed_at | string | | 2018-05-30T20:18:34Z | -action_result.data.\*.payload.changes.repository.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | -action_result.data.\*.payload.changes.repository.size | numeric | | 0 | -action_result.data.\*.payload.changes.repository.ssh_url | string | | git@github.com:test/test-repo.git | -action_result.data.\*.payload.changes.repository.stargazers | numeric | | 1 | -action_result.data.\*.payload.changes.repository.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.changes.repository.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | -action_result.data.\*.payload.changes.repository.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | -action_result.data.\*.payload.changes.repository.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | -action_result.data.\*.payload.changes.repository.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | -action_result.data.\*.payload.changes.repository.svn_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.changes.repository.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | -action_result.data.\*.payload.changes.repository.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | -action_result.data.\*.payload.changes.repository.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | -action_result.data.\*.payload.changes.repository.updated_at | string | | 2018-05-30T20:18:44Z | -action_result.data.\*.payload.changes.repository.url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.payload.changes.repository.watchers | numeric | | 0 | -action_result.data.\*.payload.changes.repository.watchers_count | numeric | | 0 | -action_result.data.\*.payload.changes.title.from | string | | | -action_result.data.\*.payload.check_run.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | -action_result.data.\*.payload.check_run.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | -action_result.data.\*.payload.check_run.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | -action_result.data.\*.payload.check_run.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | -action_result.data.\*.payload.check_suite.after | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_suite.app.created_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_suite.app.description | string | | | -action_result.data.\*.payload.check_suite.app.external_url | string | `url` | http://super-duper.example.com | -action_result.data.\*.payload.check_suite.app.html_url | string | `url` | http://github.com/apps/super-duper | -action_result.data.\*.payload.check_suite.app.id | numeric | | 2 | -action_result.data.\*.payload.check_suite.app.name | string | | Super Duper | -action_result.data.\*.payload.check_suite.app.node_id | string | | MDExOkludGVncmF0aW9uMQ= | -action_result.data.\*.payload.check_suite.app.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.check_suite.app.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.app.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.app.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.app.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.app.owner.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.app.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.app.owner.id | numeric | | 29939753 | -action_result.data.\*.payload.check_suite.app.owner.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.app.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.check_suite.app.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.app.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.app.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.app.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.app.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.app.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.app.owner.type | string | | User | -action_result.data.\*.payload.check_suite.app.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.app.updated_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_suite.before | string | `sha1` | 146e867f55c26428e5f9fade55a9bbf5e95a7912 | -action_result.data.\*.payload.check_suite.check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | -action_result.data.\*.payload.check_suite.conclusion | string | | neutral | -action_result.data.\*.payload.check_suite.created_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.check_suite.head_branch | string | | master | -action_result.data.\*.payload.check_suite.head_commit.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | -action_result.data.\*.payload.check_suite.head_commit.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.check_suite.head_commit.author.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.check_suite.head_commit.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.check_suite.head_commit.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.check_suite.head_commit.author.gravatar_id | string | | | -action_result.data.\*.payload.check_suite.head_commit.author.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.check_suite.head_commit.author.id | numeric | | 1 | -action_result.data.\*.payload.check_suite.head_commit.author.login | string | `github username` | test | -action_result.data.\*.payload.check_suite.head_commit.author.node_id | string | | MDQ6VXNlcjE= | -action_result.data.\*.payload.check_suite.head_commit.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.check_suite.head_commit.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.check_suite.head_commit.author.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.check_suite.head_commit.author.site_admin | boolean | | True False | -action_result.data.\*.payload.check_suite.head_commit.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.check_suite.head_commit.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.check_suite.head_commit.author.type | string | | User | -action_result.data.\*.payload.check_suite.head_commit.author.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.check_suite.head_commit.committer.email | string | `email` | test@user.com | -action_result.data.\*.payload.check_suite.head_commit.committer.name | string | `github username` | test | -action_result.data.\*.payload.check_suite.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_suite.head_commit.message | string | | Sample message | -action_result.data.\*.payload.check_suite.head_commit.timestamp | string | | 2018-05-04T01:14:46Z | -action_result.data.\*.payload.check_suite.head_commit.tree_id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_suite.head_sha | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.check_suite.id | numeric | | 5 | -action_result.data.\*.payload.check_suite.latest_check_runs_count | numeric | | 1 | -action_result.data.\*.payload.check_suite.latest_check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | -action_result.data.\*.payload.check_suite.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | -action_result.data.\*.payload.check_suite.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | -action_result.data.\*.payload.check_suite.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | -action_result.data.\*.payload.check_suite.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | -action_result.data.\*.payload.check_suite.status | string | | completed | -action_result.data.\*.payload.check_suite.updated_at | string | | 2018-04-25 20:42:10 | -action_result.data.\*.payload.comment.links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | -action_result.data.\*.payload.comment.links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | -action_result.data.\*.payload.comment.author_association | string | | CONTRIBUTOR | -action_result.data.\*.payload.comment.body | string | | LGTM. Can you add some tests? | -action_result.data.\*.payload.comment.commit_id | string | `sha1` | 329bd507c1123c1ab24e58b78fa8d32bd1c70639 | -action_result.data.\*.payload.comment.created_at | string | | 2018-07-20T05:36:22Z | -action_result.data.\*.payload.comment.diff_hunk | string | | Sample | -action_result.data.\*.payload.comment.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721#issuecomment-406494157 | -action_result.data.\*.payload.comment.id | numeric | | 406494157 | -action_result.data.\*.payload.comment.in_reply_to_id | numeric | | 203123149 | -action_result.data.\*.payload.comment.issue_url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/2721 | -action_result.data.\*.payload.comment.line | string | | | -action_result.data.\*.payload.comment.node_id | string | | MDEyOklzc3VlQ29tbWVudDQwNjQ5NDE1Nw== | -action_result.data.\*.payload.comment.original_commit_id | string | `sha1` | 329bd507c1123c1ab24e58b78fa8d32bd1c70639 | -action_result.data.\*.payload.comment.original_position | numeric | | 13 | -action_result.data.\*.payload.comment.path | string | | src/test/Component/Finder/Finder.php | -action_result.data.\*.payload.comment.position | numeric | | 13 | -action_result.data.\*.payload.comment.pull_request_review_id | numeric | | 138091767 | -action_result.data.\*.payload.comment.pull_request_url | string | `url` | https://api.github.com/repos/test/test/pulls/27967 | -action_result.data.\*.payload.comment.updated_at | string | | 2018-07-20T05:36:22Z | -action_result.data.\*.payload.comment.url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/comments/406494157 | -action_result.data.\*.payload.comment.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.comment.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.comment.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.comment.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.comment.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.comment.user.gravatar_id | string | | | -action_result.data.\*.payload.comment.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.comment.user.id | numeric | | 1032411 | -action_result.data.\*.payload.comment.user.login | string | `github username` | test | -action_result.data.\*.payload.comment.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.comment.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.comment.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.comment.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.comment.user.site_admin | boolean | | True False | -action_result.data.\*.payload.comment.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.comment.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.comment.user.type | string | | User | -action_result.data.\*.payload.comment.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.commits.\*.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | -action_result.data.\*.payload.compare | string | `url` | https://github.com/test/test-repo/compare/a10867b14bb7...000000000000 | -action_result.data.\*.payload.created | boolean | | True False | -action_result.data.\*.payload.deleted | boolean | | True False | -action_result.data.\*.payload.description | string | | test-repo-Description | -action_result.data.\*.payload.distinct_size | numeric | | 100 | -action_result.data.\*.payload.effective_date | string | | 2017-10-25T00:00:00+00:00 | -action_result.data.\*.payload.forced | boolean | | True False | -action_result.data.\*.payload.forkee.archive_url | string | `url` | https://api.github.com/repos/test/test-proj/{archive_format}{/ref} | -action_result.data.\*.payload.forkee.archived | boolean | | True False | -action_result.data.\*.payload.forkee.assignees_url | string | `url` | https://api.github.com/repos/test/test-proj/assignees{/user} | -action_result.data.\*.payload.forkee.blobs_url | string | `url` | https://api.github.com/repos/test/test-proj/git/blobs{/sha} | -action_result.data.\*.payload.forkee.branches_url | string | `url` | https://api.github.com/repos/test/test-proj/branches{/branch} | -action_result.data.\*.payload.forkee.clone_url | string | `url` | https://github.com/test/test-proj.git | -action_result.data.\*.payload.forkee.collaborators_url | string | `url` | https://api.github.com/repos/test/test-proj/collaborators{/collaborator} | -action_result.data.\*.payload.forkee.comments_url | string | `url` | https://api.github.com/repos/test/test-proj/comments{/number} | -action_result.data.\*.payload.forkee.commits_url | string | `url` | https://api.github.com/repos/test/test-proj/commits{/sha} | -action_result.data.\*.payload.forkee.compare_url | string | `url` | https://api.github.com/repos/test/test-proj/compare/{base}...{head} | -action_result.data.\*.payload.forkee.contents_url | string | `url` | https://api.github.com/repos/test/test-proj/contents/{+path} | -action_result.data.\*.payload.forkee.contributors_url | string | `url` | https://api.github.com/repos/test/test-proj/contributors | -action_result.data.\*.payload.forkee.created_at | string | | 2018-07-20T06:03:13Z | -action_result.data.\*.payload.forkee.default_branch | string | | master | -action_result.data.\*.payload.forkee.deployments_url | string | `url` | https://api.github.com/repos/test/test-proj/deployments | -action_result.data.\*.payload.forkee.description | string | | | -action_result.data.\*.payload.forkee.downloads_url | string | `url` | https://api.github.com/repos/test/test-proj/downloads | -action_result.data.\*.payload.forkee.events_url | string | `url` | https://api.github.com/repos/test/test-proj/events | -action_result.data.\*.payload.forkee.fork | boolean | | True False | -action_result.data.\*.payload.forkee.forks | numeric | | 0 | -action_result.data.\*.payload.forkee.forks_count | numeric | | 0 | -action_result.data.\*.payload.forkee.forks_url | string | `url` | https://api.github.com/repos/test/test-proj/forks | -action_result.data.\*.payload.forkee.full_name | string | | test/test-repo | -action_result.data.\*.payload.forkee.git_commits_url | string | `url` | https://api.github.com/repos/test/test-proj/git/commits{/sha} | -action_result.data.\*.payload.forkee.git_refs_url | string | `url` | https://api.github.com/repos/test/test-proj/git/refs{/sha} | -action_result.data.\*.payload.forkee.git_tags_url | string | `url` | https://api.github.com/repos/test/test-proj/git/tags{/sha} | -action_result.data.\*.payload.forkee.git_url | string | | git://github.com/test/test-proj.git | -action_result.data.\*.payload.forkee.has_downloads | boolean | | True False | -action_result.data.\*.payload.forkee.has_issues | boolean | | True False | -action_result.data.\*.payload.forkee.has_pages | boolean | | True False | -action_result.data.\*.payload.forkee.has_projects | boolean | | True False | -action_result.data.\*.payload.forkee.has_wiki | boolean | | True False | -action_result.data.\*.payload.forkee.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.forkee.hooks_url | string | `url` | https://api.github.com/repos/test/test-proj/hooks | -action_result.data.\*.payload.forkee.html_url | string | `url` | https://github.com/test/test-proj | -action_result.data.\*.payload.forkee.id | numeric | | 141670240 | -action_result.data.\*.payload.forkee.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-proj/issues/comments{/number} | -action_result.data.\*.payload.forkee.issue_events_url | string | `url` | https://api.github.com/repos/test/test-proj/issues/events{/number} | -action_result.data.\*.payload.forkee.issues_url | string | `url` | https://api.github.com/repos/test/test-proj/issues{/number} | -action_result.data.\*.payload.forkee.keys_url | string | `url` | https://api.github.com/repos/test/test-proj/keys{/key_id} | -action_result.data.\*.payload.forkee.labels_url | string | `url` | https://api.github.com/repos/test/test-proj/labels{/name} | -action_result.data.\*.payload.forkee.language | string | | PHP | -action_result.data.\*.payload.forkee.languages_url | string | `url` | https://api.github.com/repos/test/test-proj/languages | -action_result.data.\*.payload.forkee.license.key | string | | mit | -action_result.data.\*.payload.forkee.license.name | string | | MIT License | -action_result.data.\*.payload.forkee.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.forkee.license.spdx_id | string | | MIT | -action_result.data.\*.payload.forkee.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.forkee.merges_url | string | `url` | https://api.github.com/repos/test/test-proj/merges | -action_result.data.\*.payload.forkee.milestones_url | string | `url` | https://api.github.com/repos/test/test-proj/milestones{/number} | -action_result.data.\*.payload.forkee.mirror_url | string | `url` | | -action_result.data.\*.payload.forkee.name | string | | test-proj | -action_result.data.\*.payload.forkee.node_id | string | | MDEwOlJlcG9zaXRvcnkxNDE2NzAyNDA= | -action_result.data.\*.payload.forkee.notifications_url | string | `url` | https://api.github.com/repos/test/test-proj/notifications{?since,all,participating} | -action_result.data.\*.payload.forkee.open_issues | numeric | | 0 | -action_result.data.\*.payload.forkee.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.forkee.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.forkee.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.forkee.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.forkee.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.forkee.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.forkee.owner.gravatar_id | string | | | -action_result.data.\*.payload.forkee.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.forkee.owner.id | numeric | | 29939753 | -action_result.data.\*.payload.forkee.owner.login | string | `github username` | test | -action_result.data.\*.payload.forkee.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.forkee.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.forkee.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.forkee.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.forkee.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.forkee.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.forkee.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.forkee.owner.type | string | | User | -action_result.data.\*.payload.forkee.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.forkee.private | boolean | | True False | -action_result.data.\*.payload.forkee.public | boolean | | True False | -action_result.data.\*.payload.forkee.pulls_url | string | `url` | https://api.github.com/repos/test/test-proj/pulls{/number} | -action_result.data.\*.payload.forkee.pushed_at | string | | 2018-07-20T06:02:31Z | -action_result.data.\*.payload.forkee.releases_url | string | `url` | https://api.github.com/repos/test/test-proj/releases{/id} | -action_result.data.\*.payload.forkee.size | numeric | | 0 | -action_result.data.\*.payload.forkee.ssh_url | string | | git@github.com:test/test-proj.git | -action_result.data.\*.payload.forkee.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.forkee.stargazers_url | string | `url` | https://api.github.com/repos/test/test-proj/stargazers | -action_result.data.\*.payload.forkee.statuses_url | string | `url` | https://api.github.com/repos/test/test-proj/statuses/{sha} | -action_result.data.\*.payload.forkee.subscribers_url | string | `url` | https://api.github.com/repos/test/test-proj/subscribers | -action_result.data.\*.payload.forkee.subscription_url | string | `url` | https://api.github.com/repos/test/test-proj/subscription | -action_result.data.\*.payload.forkee.svn_url | string | `url` | https://github.com/test/test-proj | -action_result.data.\*.payload.forkee.tags_url | string | `url` | https://api.github.com/repos/test/test-proj/tags | -action_result.data.\*.payload.forkee.teams_url | string | `url` | https://api.github.com/repos/test/test-proj/teams | -action_result.data.\*.payload.forkee.trees_url | string | `url` | https://api.github.com/repos/test/test-proj/git/trees{/sha} | -action_result.data.\*.payload.forkee.updated_at | string | | 2018-07-20T06:02:33Z | -action_result.data.\*.payload.forkee.url | string | `url` | https://api.github.com/repos/test/test-proj | -action_result.data.\*.payload.forkee.watchers | numeric | | 0 | -action_result.data.\*.payload.forkee.watchers_count | numeric | | 0 | -action_result.data.\*.payload.head | string | `sha1` | 9bfa971bc5662a6f90408b58a7b2453d7dae4f83 | -action_result.data.\*.payload.head_commit.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | -action_result.data.\*.payload.head_commit.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.head_commit.author.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.head_commit.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.head_commit.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.head_commit.author.gravatar_id | string | | | -action_result.data.\*.payload.head_commit.author.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.head_commit.author.id | numeric | | 1 | -action_result.data.\*.payload.head_commit.author.login | string | `github username` | test | -action_result.data.\*.payload.head_commit.author.node_id | string | | MDQ6VXNlcjE= | -action_result.data.\*.payload.head_commit.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.head_commit.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.head_commit.author.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.head_commit.author.site_admin | boolean | | True False | -action_result.data.\*.payload.head_commit.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.head_commit.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.head_commit.author.type | string | | User | -action_result.data.\*.payload.head_commit.author.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.head_commit.committer.email | string | `email` | test@user.com | -action_result.data.\*.payload.head_commit.committer.name | string | `github username` | test | -action_result.data.\*.payload.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.head_commit.message | string | | Sample message | -action_result.data.\*.payload.head_commit.timestamp | string | | 2018-05-04T01:14:46Z | -action_result.data.\*.payload.head_commit.tree_id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | -action_result.data.\*.payload.installation.access_tokens_url | string | `url` | https://api.github.com/installations/2/access_tokens | -action_result.data.\*.payload.installation.account.id | numeric | | 18404719 | -action_result.data.\*.payload.installation.account.login | string | `github username` | test | -action_result.data.\*.payload.installation.account.organization_billing_email | string | `email` | username@email.com | -action_result.data.\*.payload.installation.account.type | string | | Organization | -action_result.data.\*.payload.installation.app_id | numeric | | 5725 | -action_result.data.\*.payload.installation.created_at | numeric | | 1525109898 | -action_result.data.\*.payload.installation.events | string | | User | -action_result.data.\*.payload.installation.html_url | string | `url` | https://github.com/settings/installations/2 | -action_result.data.\*.payload.installation.id | numeric | | 2 | -action_result.data.\*.payload.installation.permissions.contents | string | | read | -action_result.data.\*.payload.installation.permissions.issues | string | | write | -action_result.data.\*.payload.installation.permissions.metadata | string | | read | -action_result.data.\*.payload.installation.repositories_url | string | `url` | https://api.github.com/installation/repositories | -action_result.data.\*.payload.installation.repository_selection | string | | selected | -action_result.data.\*.payload.installation.single_file_name | string | `file name` | config.yml | -action_result.data.\*.payload.installation.target_id | numeric | | 3880403 | -action_result.data.\*.payload.installation.target_type | string | | User | -action_result.data.\*.payload.installation.updated_at | numeric | | 1525109899 | -action_result.data.\*.payload.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | -action_result.data.\*.payload.marketplace_purchase.account.id | numeric | | 18404719 | -action_result.data.\*.payload.marketplace_purchase.account.login | string | `github username` | test | -action_result.data.\*.payload.marketplace_purchase.account.organization_billing_email | string | `email` | username@email.com | -action_result.data.\*.payload.marketplace_purchase.account.type | string | | Organization | -action_result.data.\*.payload.marketplace_purchase.billing_cycle | string | | monthly | -action_result.data.\*.payload.marketplace_purchase.free_trial_ends_on | string | | | -action_result.data.\*.payload.marketplace_purchase.next_billing_date | string | | 2017-11-05T00:00:00+00:00 | -action_result.data.\*.payload.marketplace_purchase.on_free_trial | boolean | | True False | -action_result.data.\*.payload.marketplace_purchase.plan.bullets | string | | Is Basic | -action_result.data.\*.payload.marketplace_purchase.plan.description | string | | Basic Plan | -action_result.data.\*.payload.marketplace_purchase.plan.has_free_trial | boolean | | True False | -action_result.data.\*.payload.marketplace_purchase.plan.id | numeric | | 435 | -action_result.data.\*.payload.marketplace_purchase.plan.monthly_price_in_cents | numeric | | 1000 | -action_result.data.\*.payload.marketplace_purchase.plan.name | string | | Basic Plan | -action_result.data.\*.payload.marketplace_purchase.plan.price_model | string | | per-unit | -action_result.data.\*.payload.marketplace_purchase.plan.unit_name | string | | seat | -action_result.data.\*.payload.marketplace_purchase.plan.yearly_price_in_cents | numeric | | 10000 | -action_result.data.\*.payload.marketplace_purchase.unit_count | numeric | | 1 | -action_result.data.\*.payload.master_branch | string | | master | -action_result.data.\*.payload.member.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/41301719?v=4 | -action_result.data.\*.payload.member.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.member.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.member.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.member.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.member.gravatar_id | string | | | -action_result.data.\*.payload.member.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.member.id | numeric | | 41301719 | -action_result.data.\*.payload.member.login | string | `github username` | test | -action_result.data.\*.payload.member.node_id | string | | MDQ6VXNlcjQxMzA5NzE5 | -action_result.data.\*.payload.member.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.member.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.member.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.member.site_admin | boolean | | True False | -action_result.data.\*.payload.member.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.member.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.member.type | string | | User | -action_result.data.\*.payload.member.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.number | numeric | | 27999 | -action_result.data.\*.payload.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | -action_result.data.\*.payload.organization.created_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.organization.description | string | | | -action_result.data.\*.payload.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | -action_result.data.\*.payload.organization.followers | numeric | | 3 | -action_result.data.\*.payload.organization.following | numeric | | 3 | -action_result.data.\*.payload.organization.has_organization_projects | boolean | | True False | -action_result.data.\*.payload.organization.has_repository_projects | boolean | | True False | -action_result.data.\*.payload.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.payload.organization.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.organization.id | numeric | | 41309665 | -action_result.data.\*.payload.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.payload.organization.login | string | `github organization name` | test | -action_result.data.\*.payload.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | -action_result.data.\*.payload.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | -action_result.data.\*.payload.organization.public_gists | numeric | | 3 | -action_result.data.\*.payload.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | -action_result.data.\*.payload.organization.public_repos | numeric | | 3 | -action_result.data.\*.payload.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | -action_result.data.\*.payload.organization.type | string | | Organization | -action_result.data.\*.payload.organization.updated_at | string | | 2018-07-16T23:02:38Z | -action_result.data.\*.payload.organization.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.payload.pages.\*.action | string | | created | -action_result.data.\*.payload.pages.\*.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.pages.\*.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.pages.\*.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.pages.\*.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.pages.\*.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.pages.\*.creator.gravatar_id | string | | | -action_result.data.\*.payload.pages.\*.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.pages.\*.creator.id | numeric | | 73419 | -action_result.data.\*.payload.pages.\*.creator.login | string | `github username` | test | -action_result.data.\*.payload.pages.\*.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.pages.\*.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.pages.\*.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.pages.\*.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.pages.\*.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.pages.\*.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.pages.\*.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.pages.\*.creator.type | string | | User | -action_result.data.\*.payload.pages.\*.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.pages.\*.html_url | string | `url` | https://github.com/test/test-proj/wiki/Home | -action_result.data.\*.payload.pages.\*.page_name | string | | Home | -action_result.data.\*.payload.pages.\*.sha | string | `sha1` | 75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6 | -action_result.data.\*.payload.pages.\*.summary | string | | | -action_result.data.\*.payload.pages.\*.title | string | | Home | -action_result.data.\*.payload.project.body | string | | Project tasks for a trip to Space | -action_result.data.\*.payload.project.columns_url | string | `url` | https://api.github.com/projects/1547122/columns | -action_result.data.\*.payload.project.created_at | string | | 2018-05-30T20:18:51Z | -action_result.data.\*.payload.project.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.project.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.project.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.project.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.project.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.project.creator.gravatar_id | string | | | -action_result.data.\*.payload.project.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.project.creator.id | numeric | | 73419 | -action_result.data.\*.payload.project.creator.login | string | `github username` | test | -action_result.data.\*.payload.project.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.project.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.project.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.project.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.project.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.project.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.project.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.project.creator.type | string | | User | -action_result.data.\*.payload.project.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.project.html_url | string | `url` | https://github.com/test/test-repo/projects/1 | -action_result.data.\*.payload.project.id | numeric | | 1547122 | -action_result.data.\*.payload.project.name | string | | Space 2.0 | -action_result.data.\*.payload.project.node_id | string | | MDc6UHJvamVjdDE1NDcxMjI= | -action_result.data.\*.payload.project.number | numeric | | 1 | -action_result.data.\*.payload.project.owner_url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.payload.project.state | string | | open | -action_result.data.\*.payload.project.updated_at | string | | 2018-05-30T20:18:51Z | -action_result.data.\*.payload.project.url | string | `url` | https://api.github.com/projects/1547122 | -action_result.data.\*.payload.project_card.column_id | numeric | | 2803722 | -action_result.data.\*.payload.project_card.column_url | string | `url` | https://api.github.com/projects/columns/2803722 | -action_result.data.\*.payload.project_card.created_at | string | | 2018-05-30T20:18:52Z | -action_result.data.\*.payload.project_card.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.payload.project_card.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.project_card.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.project_card.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.project_card.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.project_card.creator.gravatar_id | string | | | -action_result.data.\*.payload.project_card.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.project_card.creator.id | numeric | | 73419 | -action_result.data.\*.payload.project_card.creator.login | string | `github username` | test | -action_result.data.\*.payload.project_card.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.payload.project_card.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.project_card.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.project_card.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.project_card.creator.site_admin | boolean | | True False | -action_result.data.\*.payload.project_card.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.project_card.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.project_card.creator.type | string | | User | -action_result.data.\*.payload.project_card.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.project_card.id | numeric | | 10189042 | -action_result.data.\*.payload.project_card.node_id | string | | MDExOlByb2plY3RDYXJkMTAxODkwNDI= | -action_result.data.\*.payload.project_card.note | string | | Work that can be completed in one hour or less | -action_result.data.\*.payload.project_card.updated_at | string | | 2018-05-30T20:18:52Z | -action_result.data.\*.payload.project_card.url | string | `url` | https://api.github.com/projects/columns/cards/10189042 | -action_result.data.\*.payload.project_column.cards_url | string | `url` | https://api.github.com/projects/columns/2803722/cards | -action_result.data.\*.payload.project_column.created_at | string | | 2018-05-30T20:18:52Z | -action_result.data.\*.payload.project_column.id | numeric | | 2803722 | -action_result.data.\*.payload.project_column.name | string | | Small bugfixes | -action_result.data.\*.payload.project_column.node_id | string | | MDEzOlByb2plY3RDb2x1bW4yODAzNzIy | -action_result.data.\*.payload.project_column.project_url | string | `url` | https://api.github.com/projects/1547122 | -action_result.data.\*.payload.project_column.updated_at | string | | 2018-05-30T20:18:52Z | -action_result.data.\*.payload.project_column.url | string | `url` | https://api.github.com/projects/columns/2803722 | -action_result.data.\*.payload.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | -action_result.data.\*.payload.push_id | numeric | | 2731668591 | -action_result.data.\*.payload.pusher_type | string | | user | -action_result.data.\*.payload.ref | string | | refs/heads/2.8 | -action_result.data.\*.payload.ref_type | string | | repository | -action_result.data.\*.payload.release.assets.\*.browser_download_url | string | `url` | https://github.com/test/test-proj/releases/download/1.1.1.1.1/phapp_code42.tgz | -action_result.data.\*.payload.release.assets.\*.content_type | string | | application/x-compressed | -action_result.data.\*.payload.release.assets.\*.created_at | string | | 2018-07-20T13:12:10Z | -action_result.data.\*.payload.release.assets.\*.download_count | numeric | | 0 | -action_result.data.\*.payload.release.assets.\*.id | numeric | | 7946908 | -action_result.data.\*.payload.release.assets.\*.label | string | | | -action_result.data.\*.payload.release.assets.\*.name | string | | phapp_code42.tgz | -action_result.data.\*.payload.release.assets.\*.node_id | string | | MDEyOlJlbGVhc2VBc3NldDc5NDY5MDg= | -action_result.data.\*.payload.release.assets.\*.size | numeric | | 91097 | -action_result.data.\*.payload.release.assets.\*.state | string | | uploaded | -action_result.data.\*.payload.release.assets.\*.updated_at | string | | 2018-07-20T13:12:16Z | -action_result.data.\*.payload.release.assets.\*.uploader.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/41309719?v=4 | -action_result.data.\*.payload.release.assets.\*.uploader.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.release.assets.\*.uploader.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.release.assets.\*.uploader.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.release.assets.\*.uploader.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.release.assets.\*.uploader.gravatar_id | string | | | -action_result.data.\*.payload.release.assets.\*.uploader.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.release.assets.\*.uploader.id | numeric | | 41309719 | -action_result.data.\*.payload.release.assets.\*.uploader.login | string | `github username` | test | -action_result.data.\*.payload.release.assets.\*.uploader.node_id | string | | MDQ6VXNlcjQxMzA5NzE5 | -action_result.data.\*.payload.release.assets.\*.uploader.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.release.assets.\*.uploader.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.release.assets.\*.uploader.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.release.assets.\*.uploader.site_admin | boolean | | True False | -action_result.data.\*.payload.release.assets.\*.uploader.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.release.assets.\*.uploader.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.release.assets.\*.uploader.type | string | | User | -action_result.data.\*.payload.release.assets.\*.uploader.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.release.assets.\*.url | string | `url` | https://api.github.com/repos/test/test-proj/releases/assets/8946908 | -action_result.data.\*.payload.release.assets_url | string | `url` | https://api.github.com/repos/toml-lang/toml/releases/11865985/assets | -action_result.data.\*.payload.release.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | -action_result.data.\*.payload.release.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.release.author.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.release.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.release.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.release.author.gravatar_id | string | | | -action_result.data.\*.payload.release.author.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.release.author.id | numeric | | 1 | -action_result.data.\*.payload.release.author.login | string | `github username` | test | -action_result.data.\*.payload.release.author.node_id | string | | MDQ6VXNlcjE= | -action_result.data.\*.payload.release.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.release.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.release.author.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.release.author.site_admin | boolean | | True False | -action_result.data.\*.payload.release.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.release.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.release.author.type | string | | User | -action_result.data.\*.payload.release.author.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.release.body | string | | Sample body | -action_result.data.\*.payload.release.created_at | string | | 2018-07-10T21:44:12Z | -action_result.data.\*.payload.release.draft | boolean | | True False | -action_result.data.\*.payload.release.html_url | string | `url` | https://github.com/toml-lang/toml/releases/tag/v0.5.0 | -action_result.data.\*.payload.release.id | numeric | | 11865985 | -action_result.data.\*.payload.release.name | string | | v0.5.0 | -action_result.data.\*.payload.release.node_id | string | | MDc6UmVsZWFzZTExODY1OTg1 | -action_result.data.\*.payload.release.prerelease | boolean | | True False | -action_result.data.\*.payload.release.published_at | string | | 2018-07-10T21:58:13Z | -action_result.data.\*.payload.release.tag_name | string | | v0.5.0 | -action_result.data.\*.payload.release.tarball_url | string | `url` | https://api.github.com/repos/toml-lang/toml/tarball/v0.5.0 | -action_result.data.\*.payload.release.target_commitish | string | | master | -action_result.data.\*.payload.release.upload_url | string | `url` | https://uploads.github.com/repos/toml-lang/toml/releases/11865985/assets{?name,label} | -action_result.data.\*.payload.release.url | string | `url` | https://api.github.com/repos/toml-lang/toml/releases/11865985 | -action_result.data.\*.payload.release.zipball_url | string | `url` | https://api.github.com/repos/toml-lang/toml/zipball/v0.5.0 | -action_result.data.\*.payload.repositories_added.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | -action_result.data.\*.payload.repositories_added.\*.archived | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | -action_result.data.\*.payload.repositories_added.\*.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | -action_result.data.\*.payload.repositories_added.\*.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | -action_result.data.\*.payload.repositories_added.\*.clone_url | string | `url` | https://github.com/test/test-repo.git | -action_result.data.\*.payload.repositories_added.\*.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | -action_result.data.\*.payload.repositories_added.\*.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | -action_result.data.\*.payload.repositories_added.\*.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | -action_result.data.\*.payload.repositories_added.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | -action_result.data.\*.payload.repositories_added.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | -action_result.data.\*.payload.repositories_added.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | -action_result.data.\*.payload.repositories_added.\*.created_at | string | | 2018-05-30T20:18:04Z | -action_result.data.\*.payload.repositories_added.\*.default_branch | string | | master | -action_result.data.\*.payload.repositories_added.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | -action_result.data.\*.payload.repositories_added.\*.description | string | | | -action_result.data.\*.payload.repositories_added.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | -action_result.data.\*.payload.repositories_added.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | -action_result.data.\*.payload.repositories_added.\*.fork | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.forks | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.forks_count | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | -action_result.data.\*.payload.repositories_added.\*.full_name | string | | test/test-repo | -action_result.data.\*.payload.repositories_added.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | -action_result.data.\*.payload.repositories_added.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | -action_result.data.\*.payload.repositories_added.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | -action_result.data.\*.payload.repositories_added.\*.git_url | string | | git://github.com/test/test-repo.git | -action_result.data.\*.payload.repositories_added.\*.has_downloads | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.has_issues | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.has_pages | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.has_projects | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.has_wiki | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.repositories_added.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | -action_result.data.\*.payload.repositories_added.\*.html_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.repositories_added.\*.id | numeric | | 135493233 | -action_result.data.\*.payload.repositories_added.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | -action_result.data.\*.payload.repositories_added.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | -action_result.data.\*.payload.repositories_added.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | -action_result.data.\*.payload.repositories_added.\*.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | -action_result.data.\*.payload.repositories_added.\*.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | -action_result.data.\*.payload.repositories_added.\*.language | string | | | -action_result.data.\*.payload.repositories_added.\*.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | -action_result.data.\*.payload.repositories_added.\*.license.key | string | | mit | -action_result.data.\*.payload.repositories_added.\*.license.name | string | | MIT License | -action_result.data.\*.payload.repositories_added.\*.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.repositories_added.\*.license.spdx_id | string | | MIT | -action_result.data.\*.payload.repositories_added.\*.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.repositories_added.\*.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | -action_result.data.\*.payload.repositories_added.\*.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | -action_result.data.\*.payload.repositories_added.\*.mirror_url | string | `url` | | -action_result.data.\*.payload.repositories_added.\*.name | string | | test-repo | -action_result.data.\*.payload.repositories_added.\*.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | -action_result.data.\*.payload.repositories_added.\*.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | -action_result.data.\*.payload.repositories_added.\*.open_issues | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.repositories_added.\*.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.repositories_added.\*.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.repositories_added.\*.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.repositories_added.\*.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.repositories_added.\*.owner.gravatar_id | string | | | -action_result.data.\*.payload.repositories_added.\*.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.repositories_added.\*.owner.id | numeric | | 29939753 | -action_result.data.\*.payload.repositories_added.\*.owner.login | string | `github username` | test | -action_result.data.\*.payload.repositories_added.\*.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.repositories_added.\*.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.repositories_added.\*.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.repositories_added.\*.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.repositories_added.\*.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.repositories_added.\*.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.repositories_added.\*.owner.type | string | | User | -action_result.data.\*.payload.repositories_added.\*.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.repositories_added.\*.private | boolean | | True False | -action_result.data.\*.payload.repositories_added.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | -action_result.data.\*.payload.repositories_added.\*.pushed_at | string | | 2018-05-30T20:18:34Z | -action_result.data.\*.payload.repositories_added.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | -action_result.data.\*.payload.repositories_added.\*.size | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.ssh_url | string | | git@github.com:test/test-repo.git | -action_result.data.\*.payload.repositories_added.\*.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | -action_result.data.\*.payload.repositories_added.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | -action_result.data.\*.payload.repositories_added.\*.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | -action_result.data.\*.payload.repositories_added.\*.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | -action_result.data.\*.payload.repositories_added.\*.svn_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.repositories_added.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | -action_result.data.\*.payload.repositories_added.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | -action_result.data.\*.payload.repositories_added.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | -action_result.data.\*.payload.repositories_added.\*.updated_at | string | | 2018-05-30T20:18:44Z | -action_result.data.\*.payload.repositories_added.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.payload.repositories_added.\*.watchers | numeric | | 0 | -action_result.data.\*.payload.repositories_added.\*.watchers_count | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | -action_result.data.\*.payload.repositories_removed.\*.archived | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | -action_result.data.\*.payload.repositories_removed.\*.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | -action_result.data.\*.payload.repositories_removed.\*.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | -action_result.data.\*.payload.repositories_removed.\*.clone_url | string | `url` | https://github.com/test/test-repo.git | -action_result.data.\*.payload.repositories_removed.\*.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | -action_result.data.\*.payload.repositories_removed.\*.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | -action_result.data.\*.payload.repositories_removed.\*.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | -action_result.data.\*.payload.repositories_removed.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | -action_result.data.\*.payload.repositories_removed.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | -action_result.data.\*.payload.repositories_removed.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | -action_result.data.\*.payload.repositories_removed.\*.created_at | string | | 2018-05-30T20:18:04Z | -action_result.data.\*.payload.repositories_removed.\*.default_branch | string | | master | -action_result.data.\*.payload.repositories_removed.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | -action_result.data.\*.payload.repositories_removed.\*.description | string | | | -action_result.data.\*.payload.repositories_removed.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | -action_result.data.\*.payload.repositories_removed.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | -action_result.data.\*.payload.repositories_removed.\*.fork | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.forks | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.forks_count | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | -action_result.data.\*.payload.repositories_removed.\*.full_name | string | | test/test-repo | -action_result.data.\*.payload.repositories_removed.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | -action_result.data.\*.payload.repositories_removed.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | -action_result.data.\*.payload.repositories_removed.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | -action_result.data.\*.payload.repositories_removed.\*.git_url | string | | git://github.com/test/test-repo.git | -action_result.data.\*.payload.repositories_removed.\*.has_downloads | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.has_issues | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.has_pages | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.has_projects | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.has_wiki | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.repositories_removed.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | -action_result.data.\*.payload.repositories_removed.\*.html_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.repositories_removed.\*.id | numeric | | 135493233 | -action_result.data.\*.payload.repositories_removed.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | -action_result.data.\*.payload.repositories_removed.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | -action_result.data.\*.payload.repositories_removed.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | -action_result.data.\*.payload.repositories_removed.\*.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | -action_result.data.\*.payload.repositories_removed.\*.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | -action_result.data.\*.payload.repositories_removed.\*.language | string | | | -action_result.data.\*.payload.repositories_removed.\*.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | -action_result.data.\*.payload.repositories_removed.\*.license.key | string | | mit | -action_result.data.\*.payload.repositories_removed.\*.license.name | string | | MIT License | -action_result.data.\*.payload.repositories_removed.\*.license.node_id | string | | MDc6TGljZW5zZTEz | -action_result.data.\*.payload.repositories_removed.\*.license.spdx_id | string | | MIT | -action_result.data.\*.payload.repositories_removed.\*.license.url | string | `url` | https://api.github.com/licenses/mit | -action_result.data.\*.payload.repositories_removed.\*.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | -action_result.data.\*.payload.repositories_removed.\*.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | -action_result.data.\*.payload.repositories_removed.\*.mirror_url | string | `url` | | -action_result.data.\*.payload.repositories_removed.\*.name | string | | test-repo | -action_result.data.\*.payload.repositories_removed.\*.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | -action_result.data.\*.payload.repositories_removed.\*.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | -action_result.data.\*.payload.repositories_removed.\*.open_issues | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | -action_result.data.\*.payload.repositories_removed.\*.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.repositories_removed.\*.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.repositories_removed.\*.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.repositories_removed.\*.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.repositories_removed.\*.owner.gravatar_id | string | | | -action_result.data.\*.payload.repositories_removed.\*.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.repositories_removed.\*.owner.id | numeric | | 29939753 | -action_result.data.\*.payload.repositories_removed.\*.owner.login | string | `github username` | test | -action_result.data.\*.payload.repositories_removed.\*.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.payload.repositories_removed.\*.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.repositories_removed.\*.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.repositories_removed.\*.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.repositories_removed.\*.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.repositories_removed.\*.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.repositories_removed.\*.owner.type | string | | User | -action_result.data.\*.payload.repositories_removed.\*.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.repositories_removed.\*.private | boolean | | True False | -action_result.data.\*.payload.repositories_removed.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | -action_result.data.\*.payload.repositories_removed.\*.pushed_at | string | | 2018-05-30T20:18:34Z | -action_result.data.\*.payload.repositories_removed.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | -action_result.data.\*.payload.repositories_removed.\*.size | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.ssh_url | string | | git@github.com:test/test-repo.git | -action_result.data.\*.payload.repositories_removed.\*.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | -action_result.data.\*.payload.repositories_removed.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | -action_result.data.\*.payload.repositories_removed.\*.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | -action_result.data.\*.payload.repositories_removed.\*.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | -action_result.data.\*.payload.repositories_removed.\*.svn_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.repositories_removed.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | -action_result.data.\*.payload.repositories_removed.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | -action_result.data.\*.payload.repositories_removed.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | -action_result.data.\*.payload.repositories_removed.\*.updated_at | string | | 2018-05-30T20:18:44Z | -action_result.data.\*.payload.repositories_removed.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.payload.repositories_removed.\*.watchers | numeric | | 0 | -action_result.data.\*.payload.repositories_removed.\*.watchers_count | numeric | | 0 | -action_result.data.\*.payload.repository.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | -action_result.data.\*.payload.repository.archived | boolean | | True False | -action_result.data.\*.payload.repository.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | -action_result.data.\*.payload.repository.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | -action_result.data.\*.payload.repository.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | -action_result.data.\*.payload.repository.clone_url | string | `url` | https://github.com/test/test-repo.git | -action_result.data.\*.payload.repository.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | -action_result.data.\*.payload.repository.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | -action_result.data.\*.payload.repository.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | -action_result.data.\*.payload.repository.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | -action_result.data.\*.payload.repository.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | -action_result.data.\*.payload.repository.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | -action_result.data.\*.payload.repository.created_at | string | | 2018-05-30T20:18:04Z | -action_result.data.\*.payload.repository.default_branch | string | | master | -action_result.data.\*.payload.repository.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | -action_result.data.\*.payload.repository.description | string | | | -action_result.data.\*.payload.repository.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | -action_result.data.\*.payload.repository.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | -action_result.data.\*.payload.repository.fork | boolean | | True False | -action_result.data.\*.payload.repository.forks | numeric | | 0 | -action_result.data.\*.payload.repository.forks_count | numeric | | 0 | -action_result.data.\*.payload.repository.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | -action_result.data.\*.payload.repository.full_name | string | | test/test-repo | -action_result.data.\*.payload.repository.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | -action_result.data.\*.payload.repository.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | -action_result.data.\*.payload.repository.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | -action_result.data.\*.payload.repository.git_url | string | | git://github.com/test/test-repo.git | -action_result.data.\*.payload.repository.has_downloads | boolean | | True False | -action_result.data.\*.payload.repository.has_issues | boolean | | True False | -action_result.data.\*.payload.repository.has_pages | boolean | | True False | -action_result.data.\*.payload.repository.has_projects | boolean | | True False | -action_result.data.\*.payload.repository.has_wiki | boolean | | True False | -action_result.data.\*.payload.repository.homepage | string | `url` | https://test.com | -action_result.data.\*.payload.repository.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | -action_result.data.\*.payload.repository.html_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.repository.id | numeric | | 135493233 | -action_result.data.\*.payload.repository.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | -action_result.data.\*.payload.repository.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | -action_result.data.\*.payload.repository.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | -action_result.data.\*.payload.repository.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | -action_result.data.\*.payload.repository.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | -action_result.data.\*.payload.repository.language | string | | | -action_result.data.\*.payload.repository.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | -action_result.data.\*.payload.repository.license.key | string | | apache-2.0 | -action_result.data.\*.payload.repository.license.name | string | | Apache License 2.0 | -action_result.data.\*.payload.repository.license.node_id | string | | MDc6TGljZW5zZIT= | -action_result.data.\*.payload.repository.license.spdx_id | string | | Apache-2.0 | -action_result.data.\*.payload.repository.license.url | string | `url` | https://api.github.com/licenses/apache-2.0 | -action_result.data.\*.payload.repository.master_branch | string | | master | -action_result.data.\*.payload.repository.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | -action_result.data.\*.payload.repository.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | -action_result.data.\*.payload.repository.mirror_url | string | `url` | | -action_result.data.\*.payload.repository.name | string | | test-repo | -action_result.data.\*.payload.repository.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | -action_result.data.\*.payload.repository.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | -action_result.data.\*.payload.repository.open_issues | numeric | | 0 | -action_result.data.\*.payload.repository.open_issues_count | numeric | | 0 | -action_result.data.\*.payload.repository.owner.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41409665?v=4 | -action_result.data.\*.payload.repository.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.repository.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.repository.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.repository.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.repository.owner.gravatar_id | string | | | -action_result.data.\*.payload.repository.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.repository.owner.id | numeric | | 41309165 | -action_result.data.\*.payload.repository.owner.login | string | `github username` | test | -action_result.data.\*.payload.repository.owner.node_id | string | | MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1 | -action_result.data.\*.payload.repository.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.repository.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.repository.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.repository.owner.site_admin | boolean | | True False | -action_result.data.\*.payload.repository.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.repository.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.repository.owner.type | string | | Organization | -action_result.data.\*.payload.repository.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.repository.private | boolean | | True False | -action_result.data.\*.payload.repository.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | -action_result.data.\*.payload.repository.pushed_at | string | | 2018-05-30T20:18:34Z | -action_result.data.\*.payload.repository.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | -action_result.data.\*.payload.repository.size | numeric | | 0 | -action_result.data.\*.payload.repository.ssh_url | string | | git@github.com:test/test-repo.git | -action_result.data.\*.payload.repository.stargazers | numeric | | 1 | -action_result.data.\*.payload.repository.stargazers_count | numeric | | 0 | -action_result.data.\*.payload.repository.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | -action_result.data.\*.payload.repository.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | -action_result.data.\*.payload.repository.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | -action_result.data.\*.payload.repository.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | -action_result.data.\*.payload.repository.svn_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.payload.repository.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | -action_result.data.\*.payload.repository.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | -action_result.data.\*.payload.repository.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | -action_result.data.\*.payload.repository.updated_at | string | | 2018-05-30T20:18:44Z | -action_result.data.\*.payload.repository.url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.payload.repository.watchers | numeric | | 0 | -action_result.data.\*.payload.repository.watchers_count | numeric | | 0 | -action_result.data.\*.payload.repository_selection | string | | selected | -action_result.data.\*.payload.review.links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | -action_result.data.\*.payload.review.links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | -action_result.data.\*.payload.review.author_association | string | | OWNER | -action_result.data.\*.payload.review.body | string | | | -action_result.data.\*.payload.review.commit_id | string | | 34c5c7793cb3b279e22454cb6750c80560547b3a | -action_result.data.\*.payload.review.html_url | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | -action_result.data.\*.payload.review.id | numeric | | 124575911 | -action_result.data.\*.payload.review.node_id | string | | MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MTI0NTc1OTEx | -action_result.data.\*.payload.review.pull_request_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | -action_result.data.\*.payload.review.state | string | | commented | -action_result.data.\*.payload.review.submitted_at | string | | 2018-05-30T20:18:31Z | -action_result.data.\*.payload.review.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | -action_result.data.\*.payload.review.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.review.user.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.review.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.review.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.review.user.gravatar_id | string | | | -action_result.data.\*.payload.review.user.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.review.user.id | numeric | | 1032411 | -action_result.data.\*.payload.review.user.login | string | `github username` | test | -action_result.data.\*.payload.review.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | -action_result.data.\*.payload.review.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.review.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.review.user.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.review.user.site_admin | boolean | | True False | -action_result.data.\*.payload.review.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.review.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.review.user.type | string | | User | -action_result.data.\*.payload.review.user.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.sender.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/39652351?v=4 | -action_result.data.\*.payload.sender.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.payload.sender.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.payload.sender.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.payload.sender.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.payload.sender.gravatar_id | string | | | -action_result.data.\*.payload.sender.html_url | string | `url` | https://github.com/test | -action_result.data.\*.payload.sender.id | numeric | | 406494157 | -action_result.data.\*.payload.sender.login | string | `github username` | test | -action_result.data.\*.payload.sender.node_id | string | | MDQ6VXNlcjM5NjUyMzUx | -action_result.data.\*.payload.sender.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.payload.sender.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.payload.sender.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.payload.sender.site_admin | boolean | | True False | -action_result.data.\*.payload.sender.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.payload.sender.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.payload.sender.type | string | | User | -action_result.data.\*.payload.sender.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.payload.size | numeric | | 2 | -action_result.data.\*.public | boolean | | True False | -action_result.data.\*.repo.id | numeric | | 141531062 | -action_result.data.\*.repo.name | string | `github repo` | test-repo | -action_result.data.\*.repo.url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.type | string | | CreateEvent | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.user | string | `github username` | | +action_result.parameter.role | string | | | +action_result.parameter.override | boolean | | | +action_result.data.\*.collaborator_added | boolean | | True False | +action_result.data.\*.created_at | string | | 2018-07-25T12:47:00Z | +action_result.data.\*.html_url | string | `url` | https://github.com/test/test-repo/invitations | +action_result.data.\*.id | numeric | | 10200401 | +action_result.data.\*.invite_sent | boolean | | True False | +action_result.data.\*.invitee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29930053?v=4 | +action_result.data.\*.invitee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.invitee.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.invitee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.invitee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.invitee.gravatar_id | string | | | +action_result.data.\*.invitee.html_url | string | `url` | https://github.com/test | +action_result.data.\*.invitee.id | numeric | | 29900753 | +action_result.data.\*.invitee.login | string | `github username` | test | +action_result.data.\*.invitee.node_id | string | | MDQ6VXlNcjI5OTM5NzUz | +action_result.data.\*.invitee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.invitee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.invitee.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.invitee.site_admin | boolean | | True False | +action_result.data.\*.invitee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.invitee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.invitee.type | string | | User | +action_result.data.\*.invitee.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.inviter.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/41300385?v=4 | +action_result.data.\*.inviter.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.inviter.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.inviter.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.inviter.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.inviter.gravatar_id | string | | | +action_result.data.\*.inviter.html_url | string | `url` | https://github.com/test | +action_result.data.\*.inviter.id | numeric | | 41300385 | +action_result.data.\*.inviter.login | string | `github username` | test | +action_result.data.\*.inviter.node_id | string | | MDQ6VXlNcjQxMzMxMzg1 | +action_result.data.\*.inviter.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.inviter.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.inviter.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.inviter.site_admin | boolean | | True False | +action_result.data.\*.inviter.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.inviter.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.inviter.type | string | | User | +action_result.data.\*.inviter.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.node_id | string | | MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE= | +action_result.data.\*.permissions | string | | admin | +action_result.data.\*.url | string | `url` | https://api.github.com/user/repository_invitations/10245401 | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'add labels' + +Add label(s) to an issue on the GitHub repository + +Type: **generic**
+Read only: **False** + +Only users with push access can set labels for the issues. + +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | +**repo_name** | required | Name of the repository | string | `github repo` | +**issue_number** | required | Issue ID | numeric | `github issue id` | +**labels** | required | Comma-separated list of labels to add to the issue | string | | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | +action_result.parameter.labels | string | | | +action_result.data.\*.color | string | | ededed | +action_result.data.\*.default | boolean | | True False | +action_result.data.\*.id | numeric | | 1454479580 | +action_result.data.\*.name | string | | app-testing | +action_result.data.\*.node_id | string | | MDU6TGFiZWwxNDU0NDc5NTgw | +action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'list users' +## action: 'add member' -List users of an organization +Add user in a team -Type: **investigate**
-Read only: **True** +Type: **generic**
+Read only: **False** + +Parameter 'organization name' is mandatory if the team name is provided instead of team ID. #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**organization_name** | required | Organization name | string | `github organization name` | -**limit** | optional | Maximum number of users to be fetched | numeric | | +**organization_name** | optional | Organization name | string | `github organization name` | +**team** | required | Team name or team ID | string | `github team name` `github team id` | +**user** | required | Username | string | `github username` | +**role** | optional | Role of the user (Default: Member) | string | | #### Action Output @@ -1084,36 +204,81 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES action_result.status | string | | success failure | action_result.message | string | | | action_result.parameter.organization_name | string | `github organization name` | | -action_result.parameter.limit | numeric | | | -action_result.data.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29919753?v=4 | -action_result.data.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.gravatar_id | string | | | -action_result.data.\*.html_url | string | `url` | https://github.com/test | -action_result.data.\*.id | numeric | | 29939753 | -action_result.data.\*.login | string | `github username` | test | -action_result.data.\*.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | -action_result.data.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.site_admin | boolean | | True False | -action_result.data.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.type | string | | User | -action_result.data.\*.url | string | `url` | https://api.github.com/users/test | +action_result.parameter.team | string | `github team name` `github team id` | | +action_result.parameter.user | string | `github username` | | +action_result.parameter.role | string | | | +action_result.data.\*.state | string | | active pending | +action_result.data.\*.status | string | | success failed | +action_result.data.\*.role | string | | member maintainer | +action_result.data.\*.url | string | `url` | https://api.github.com/teams/2830072/memberships/test | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'remove collaborator' +## action: 'create comment' -Remove user as a collaborator from the repo +Create a comment for an issue on the GitHub repository Type: **generic**
Read only: **False** -If the user is not a direct collaborator to the repo, any pending invitations to the user will also be deleted. +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | +**repo_name** | required | Name of the repository | string | `github repo` | +**issue_number** | required | Issue ID | numeric | `github issue id` | +**comment_body** | required | Contents of a comment to add to the issue | string | | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | +action_result.parameter.comment_body | string | | | +action_result.data.\*.author_association | string | | OWNER | +action_result.data.\*.body | string | | I am adding a comment from the app | +action_result.data.\*.created_at | string | | 2019-07-16T20:11:38Z | +action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194 | +action_result.data.\*.id | numeric | | 511967194 | +action_result.data.\*.issue_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2 | +action_result.data.\*.node_id | string | | MDEyOklzc3VlQ29tbWVudDUxMTk2NzE5NA== | +action_result.data.\*.updated_at | string | | 2019-07-16T20:11:38Z | +action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511967194 | +action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.user.gravatar_id | string | | | +action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.user.id | numeric | | 11890709 | +action_result.data.\*.user.login | string | `github username` | repoowner | +action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.user.site_admin | boolean | | True False | +action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.user.type | string | | User | +action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'create issue' + +Create an issue for the GitHub repository + +Type: **generic**
+Read only: **False** + +Only users with push access can set assignees/labels for the issues. +Assignees/labels are silently dropped otherwise. #### Action Parameters @@ -1121,7 +286,10 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- **repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | **repo_name** | required | Name of the repository | string | `github repo` | -**user** | required | Username | string | `github username` | +**issue_title** | required | Title of the issue | string | | +**issue_body** | optional | Contents of the issue | string | | +**assignees** | optional | Comma-separated list of logins (usernames) for the users to assign to this issue | string | `github username` | +**labels** | optional | Comma-separated list of labels to associate with this issue | string | | #### Action Output @@ -1131,19 +299,148 @@ action_result.status | string | | success failure | action_result.message | string | | | action_result.parameter.repo_owner | string | `github repo owner` `github username` | | action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.user | string | `github username` | | -action_result.data.\*.invite_deleted | boolean | | True False | +action_result.parameter.issue_title | string | | | +action_result.parameter.issue_body | string | | | +action_result.parameter.assignees | string | `github username` | | +action_result.parameter.labels | string | | | +action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.assignee.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.assignee.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.assignee.gravatar_id | string | | | +action_result.data.\*.assignee.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.assignee.id | numeric | | 11890709 | +action_result.data.\*.assignee.login | string | `github username` | repoowner | +action_result.data.\*.assignee.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.assignee.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.assignee.site_admin | boolean | | True False | +action_result.data.\*.assignee.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.assignee.type | string | | User | +action_result.data.\*.assignee.url | string | `url` | https://api.github.com/users/repoowner | +action_result.data.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.assignees.\*.gravatar_id | string | | | +action_result.data.\*.assignees.\*.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.assignees.\*.id | numeric | | 11890709 | +action_result.data.\*.assignees.\*.login | string | `github username` | repoowner | +action_result.data.\*.assignees.\*.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.assignees.\*.site_admin | boolean | | True False | +action_result.data.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.assignees.\*.type | string | | User | +action_result.data.\*.assignees.\*.url | string | `url` | https://api.github.com/users/repoowner | +action_result.data.\*.author_association | string | | OWNER | +action_result.data.\*.body | string | | This is what the body looks like when testing from the app | +action_result.data.\*.closed_at | string | | | +action_result.data.\*.closed_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | +action_result.data.\*.closed_by.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | +action_result.data.\*.closed_by.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | +action_result.data.\*.closed_by.following_url | string | `url` | https://api.github.com/users/testbg11/following{/other_user} | +action_result.data.\*.closed_by.gists_url | string | `url` | https://api.github.com/users/testbg11/gists{/gist_id} | +action_result.data.\*.closed_by.gravatar_id | string | | | +action_result.data.\*.closed_by.html_url | string | `url` | https://github.com/testbg11 | +action_result.data.\*.closed_by.id | numeric | | 53362718 | +action_result.data.\*.closed_by.login | string | `github username` | testbg11 | +action_result.data.\*.closed_by.node_id | string | | MDQ6VXNlcjUzMzYyNzE4 | +action_result.data.\*.closed_by.organizations_url | string | `url` | https://api.github.com/users/testbg11/orgs | +action_result.data.\*.closed_by.received_events_url | string | `url` | https://api.github.com/users/testbg11/received_events | +action_result.data.\*.closed_by.repos_url | string | `url` | https://api.github.com/users/testbg11/repos | +action_result.data.\*.closed_by.site_admin | boolean | | True False | +action_result.data.\*.closed_by.starred_url | string | `url` | https://api.github.com/users/testbg11/starred{/owner}{/repo} | +action_result.data.\*.closed_by.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | +action_result.data.\*.closed_by.type | string | | User | +action_result.data.\*.closed_by.url | string | `url` | https://api.github.com/users/testbg11 | +action_result.data.\*.comments | numeric | | 0 | +action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments | +action_result.data.\*.created_at | string | | 2019-07-16T20:07:26Z | +action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/events | +action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2 | +action_result.data.\*.id | numeric | | 468840014 | +action_result.data.\*.labels.\*.color | string | | ededed | +action_result.data.\*.labels.\*.default | boolean | | True False | +action_result.data.\*.labels.\*.id | numeric | | 1454469929 | +action_result.data.\*.labels.\*.name | string | | test | +action_result.data.\*.labels.\*.node_id | string | | MDU6TGFiZWwxNDU0NDY5OTI5 | +action_result.data.\*.labels.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/labels/test | +action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name} | +action_result.data.\*.locked | boolean | | True False | +action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | +action_result.data.\*.milestone.closed_issues | numeric | | 879 | +action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | +action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.milestone.creator.gravatar_id | string | | | +action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.milestone.creator.id | numeric | | 73419 | +action_result.data.\*.milestone.creator.login | string | `github username` | test | +action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.milestone.creator.site_admin | boolean | | True False | +action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.milestone.creator.type | string | | User | +action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.milestone.description | string | | Sample description | +action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | +action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | +action_result.data.\*.milestone.id | numeric | | 2117464 | +action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | +action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | +action_result.data.\*.milestone.number | numeric | | 10 | +action_result.data.\*.milestone.open_issues | numeric | | 15 | +action_result.data.\*.milestone.state | string | | open | +action_result.data.\*.milestone.title | string | | 3.4 | +action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | +action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | +action_result.data.\*.node_id | string | | MDU6SXNzdWU0Njg4NDAwMTQ= | +action_result.data.\*.number | numeric | `github issue id` | 2 | +action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI | +action_result.data.\*.state | string | | open | +action_result.data.\*.title | string | | I am testing from the app | +action_result.data.\*.updated_at | string | | 2019-07-16T20:07:27Z | +action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2 | +action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.user.gravatar_id | string | | | +action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.user.id | numeric | | 11890709 | +action_result.data.\*.user.login | string | `github username` | repoowner | +action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.user.site_admin | boolean | | True False | +action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.user.type | string | | User | +action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'add collaborator' - -Add user as a collaborator to repo +## action: 'get issue' -Type: **generic**
-Read only: **False** +Retrieve an issue for the GitHub repository -For repo whose owner is an organization, if the user is not a member of the organization, GitHub will send an email invite to the user to join as a collaborator. Otherwise, he will be directly added as a collaborator. For repo whose owner is a user, GitHub will always send an email invite to the user to join as a collaborator. If an invite is already sent to the user, re-invite will not be sent. If the user is already a collaborator, his role will be updated. +Type: **investigate**
+Read only: **True** #### Action Parameters @@ -1151,9 +448,7 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- **repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | **repo_name** | required | Name of the repository | string | `github repo` | -**user** | required | Username | string | `github username` | -**role** | optional | Role of the user (Default: Push) | string | | -**override** | optional | Override existing role of collaborator | boolean | | +**issue_number** | required | Issue ID | numeric | `github issue id` | #### Action Output @@ -1163,159 +458,136 @@ action_result.status | string | | success failure | action_result.message | string | | | action_result.parameter.repo_owner | string | `github repo owner` `github username` | | action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.user | string | `github username` | | -action_result.parameter.role | string | | | -action_result.parameter.override | boolean | | | -action_result.data.\*.collaborator_added | boolean | | True False | -action_result.data.\*.created_at | string | | 2018-07-25T12:47:00Z | -action_result.data.\*.html_url | string | `url` | https://github.com/test/test-repo/invitations | -action_result.data.\*.id | numeric | | 10200401 | -action_result.data.\*.invite_sent | boolean | | True False | -action_result.data.\*.invitee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29930053?v=4 | -action_result.data.\*.invitee.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.invitee.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.invitee.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.invitee.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.invitee.gravatar_id | string | | | -action_result.data.\*.invitee.html_url | string | `url` | https://github.com/test | -action_result.data.\*.invitee.id | numeric | | 29900753 | -action_result.data.\*.invitee.login | string | `github username` | test | -action_result.data.\*.invitee.node_id | string | | MDQ6VXlNcjI5OTM5NzUz | -action_result.data.\*.invitee.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.invitee.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.invitee.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.invitee.site_admin | boolean | | True False | -action_result.data.\*.invitee.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.invitee.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.invitee.type | string | | User | -action_result.data.\*.invitee.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.inviter.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/41300385?v=4 | -action_result.data.\*.inviter.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.inviter.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.inviter.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.inviter.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.inviter.gravatar_id | string | | | -action_result.data.\*.inviter.html_url | string | `url` | https://github.com/test | -action_result.data.\*.inviter.id | numeric | | 41300385 | -action_result.data.\*.inviter.login | string | `github username` | test | -action_result.data.\*.inviter.node_id | string | | MDQ6VXlNcjQxMzMxMzg1 | -action_result.data.\*.inviter.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.inviter.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.inviter.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.inviter.site_admin | boolean | | True False | -action_result.data.\*.inviter.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.inviter.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.inviter.type | string | | User | -action_result.data.\*.inviter.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.node_id | string | | MDIwOlJlGc9zaXRvcnlJbnZpdGF0aW9uMTAyNDU0MDE= | -action_result.data.\*.permissions | string | | admin | -action_result.data.\*.url | string | `url` | https://api.github.com/user/repository_invitations/10245401 | -summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 1 | - -## action: 'remove member' - -Remove user from the team - -Type: **generic**
-Read only: **False** - -Parameter 'organization name' is mandatory if the team name is provided instead of team ID. - -#### Action Parameters - -PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS ---------- | -------- | ----------- | ---- | -------- -**organization_name** | optional | Organization name | string | `github organization name` | -**team** | required | Team name or team ID | string | `github team name` `github team id` | -**user** | required | Username | string | `github username` | - -#### Action Output - -DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES ---------- | ---- | -------- | -------------- -action_result.status | string | | success failure | -action_result.message | string | | | -action_result.parameter.organization_name | string | `github organization name` | | -action_result.parameter.team | string | `github team name` `github team id` | | -action_result.parameter.user | string | `github username` | | -action_result.data.\*.status | string | | success failed | -summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 1 | - -## action: 'add member' - -Add user in a team - -Type: **generic**
-Read only: **False** - -Parameter 'organization name' is mandatory if the team name is provided instead of team ID. - -#### Action Parameters - -PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS ---------- | -------- | ----------- | ---- | -------- -**organization_name** | optional | Organization name | string | `github organization name` | -**team** | required | Team name or team ID | string | `github team name` `github team id` | -**user** | required | Username | string | `github username` | -**role** | optional | Role of the user (Default: Member) | string | | - -#### Action Output - -DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES ---------- | ---- | -------- | -------------- -action_result.status | string | | success failure | -action_result.message | string | | | -action_result.parameter.organization_name | string | `github organization name` | | -action_result.parameter.team | string | `github team name` `github team id` | | -action_result.parameter.user | string | `github username` | | -action_result.parameter.role | string | | | -action_result.data.\*.state | string | | active pending | -action_result.data.\*.status | string | | success failed | -action_result.data.\*.role | string | | member maintainer | -action_result.data.\*.url | string | `url` | https://api.github.com/teams/2830072/memberships/test | -summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 1 | - -## action: 'list teams' - -List all teams of an organization - -Type: **investigate**
-Read only: **True** - -#### Action Parameters - -PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS ---------- | -------- | ----------- | ---- | -------- -**organization_name** | required | Organization name | string | `github organization name` | -**limit** | optional | Maximum number of teams to be fetched | numeric | | - -#### Action Output - -DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES ---------- | ---- | -------- | -------------- -action_result.status | string | | success failure | -action_result.message | string | | | -action_result.parameter.organization_name | string | `github organization name` | | -action_result.parameter.limit | numeric | | | -action_result.data.\*.id | numeric | `github team id` | 2825460 | -action_result.data.\*.name | string | `github team name` | new team | -action_result.data.\*.description | string | | New team | -action_result.data.\*.privacy | string | | closed | -action_result.data.\*.permission | string | | pull | -action_result.data.\*.members_url | string | `url` | https://api.github.com/teams/2825460/members{/member} | -action_result.data.\*.node_id | string | | MDQ6VGVhbTI4JmcyNjA= | -action_result.data.\*.repositories_url | string | `url` | https://api.github.com/teams/2825460/repos | -action_result.data.\*.slug | string | | new-team | -action_result.data.\*.url | string | `url` | https://api.github.com/teams/2825460 | +action_result.parameter.issue_number | numeric | `github issue id` | | +action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.assignee.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.assignee.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.assignee.gravatar_id | string | | | +action_result.data.\*.assignee.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.assignee.id | numeric | | 11890709 | +action_result.data.\*.assignee.login | string | `github username` | repoowner | +action_result.data.\*.assignee.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.assignee.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.assignee.site_admin | boolean | | True False | +action_result.data.\*.assignee.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.assignee.type | string | | User | +action_result.data.\*.assignee.url | string | `url` | https://api.github.com/users/repoowner | +action_result.data.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.assignees.\*.gravatar_id | string | | | +action_result.data.\*.assignees.\*.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.assignees.\*.id | numeric | | 11890709 | +action_result.data.\*.assignees.\*.login | string | `github username` | repoowner | +action_result.data.\*.assignees.\*.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.assignees.\*.site_admin | boolean | | True False | +action_result.data.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.assignees.\*.type | string | | User | +action_result.data.\*.assignees.\*.url | string | `url` | https://api.github.com/users/repoowner | +action_result.data.\*.author_association | string | | OWNER | +action_result.data.\*.body | string | | This is the body I believe of the issue | +action_result.data.\*.closed_at | string | | | +action_result.data.\*.closed_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | +action_result.data.\*.closed_by.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | +action_result.data.\*.closed_by.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | +action_result.data.\*.closed_by.following_url | string | `url` | https://api.github.com/users/testbg11/following{/other_user} | +action_result.data.\*.closed_by.gists_url | string | `url` | https://api.github.com/users/testbg11/gists{/gist_id} | +action_result.data.\*.closed_by.gravatar_id | string | | | +action_result.data.\*.closed_by.html_url | string | `url` | https://github.com/testbg11 | +action_result.data.\*.closed_by.id | numeric | | 53362718 | +action_result.data.\*.closed_by.login | string | `github username` | testbg11 | +action_result.data.\*.closed_by.node_id | string | | MDQ6VXNlcjUzMzYyNzE4 | +action_result.data.\*.closed_by.organizations_url | string | `url` | https://api.github.com/users/testbg11/orgs | +action_result.data.\*.closed_by.received_events_url | string | `url` | https://api.github.com/users/testbg11/received_events | +action_result.data.\*.closed_by.repos_url | string | `url` | https://api.github.com/users/testbg11/repos | +action_result.data.\*.closed_by.site_admin | boolean | | True False | +action_result.data.\*.closed_by.starred_url | string | `url` | https://api.github.com/users/testbg11/starred{/owner}{/repo} | +action_result.data.\*.closed_by.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | +action_result.data.\*.closed_by.type | string | | User | +action_result.data.\*.closed_by.url | string | `url` | https://api.github.com/users/testbg11 | +action_result.data.\*.comments | numeric | | 1 | +action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments | +action_result.data.\*.created_at | string | | 2019-07-16T19:52:15Z | +action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/events | +action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/1 | +action_result.data.\*.id | numeric | | 468834090 | +action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name} | +action_result.data.\*.locked | boolean | | True False | +action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | +action_result.data.\*.milestone.closed_issues | numeric | | 879 | +action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | +action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.milestone.creator.gravatar_id | string | | | +action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.milestone.creator.id | numeric | | 73419 | +action_result.data.\*.milestone.creator.login | string | `github username` | test | +action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.milestone.creator.site_admin | boolean | | True False | +action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.milestone.creator.type | string | | User | +action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.milestone.description | string | | Sample description | +action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | +action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | +action_result.data.\*.milestone.id | numeric | | 2117464 | +action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | +action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | +action_result.data.\*.milestone.number | numeric | | 10 | +action_result.data.\*.milestone.open_issues | numeric | | 15 | +action_result.data.\*.milestone.state | string | | open | +action_result.data.\*.milestone.title | string | | 3.4 | +action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | +action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | +action_result.data.\*.node_id | string | | MDU6SXNzdWU0Njg4MzQwOTA= | +action_result.data.\*.number | numeric | `github issue id` | 1 | +action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI | +action_result.data.\*.state | string | | open | +action_result.data.\*.title | string | | This is a Test Issue | +action_result.data.\*.updated_at | string | | 2019-07-16T20:00:23Z | +action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1 | +action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | +action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.user.gravatar_id | string | | | +action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.user.id | numeric | | 11890709 | +action_result.data.\*.user.login | string | `github username` | repoowner | +action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.user.site_admin | boolean | | True False | +action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.user.type | string | | User | +action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'list repos' +## action: 'list comments' -List all repos of an organization +List comments for an issue on the GitHub repository Type: **investigate**
Read only: **True** @@ -1324,8 +596,10 @@ Read only: **True** PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**organization_name** | required | Organization name | string | `github organization name` | -**limit** | optional | Maximum number of repositories to be fetched | numeric | | +**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | +**repo_name** | required | Name of the repository | string | `github repo` | +**issue_number** | required | Issue ID | numeric | `github issue id` | +**limit** | optional | Maximum number of comments to be fetched | numeric | | #### Action Output @@ -1333,120 +607,54 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- action_result.status | string | | success failure | action_result.message | string | | | -action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.issue_number | numeric | `github issue id` | | action_result.parameter.limit | numeric | | | -action_result.data.\*.id | numeric | | 141304012 | -action_result.data.\*.full_name | string | | test/test-repo | -action_result.data.\*.description | string | | Test Repo 1 | -action_result.data.\*.repo_owner | string | `github username` | test | -action_result.data.\*.created_at | string | | 2018-07-16T23:05:00Z | -action_result.data.\*.updated_at | string | | 2018-07-16T23:03:00Z | -action_result.data.\*.private | boolean | | True False | -action_result.data.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | -action_result.data.\*.archived | boolean | | True False | -action_result.data.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | -action_result.data.\*.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | -action_result.data.\*.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | -action_result.data.\*.clone_url | string | `url` | https://github.com/test/test-repo.git | -action_result.data.\*.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | -action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | -action_result.data.\*.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | -action_result.data.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | -action_result.data.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | -action_result.data.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | -action_result.data.\*.default_branch | string | | master | -action_result.data.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | -action_result.data.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | -action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | -action_result.data.\*.fork | boolean | | True False | -action_result.data.\*.forks | numeric | | 0 | -action_result.data.\*.forks_count | numeric | | 0 | -action_result.data.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | -action_result.data.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | -action_result.data.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | -action_result.data.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | -action_result.data.\*.git_url | string | | git://github.com/test/test-repo.git | -action_result.data.\*.has_downloads | boolean | | True False | -action_result.data.\*.has_issues | boolean | | True False | -action_result.data.\*.has_pages | boolean | | True False | -action_result.data.\*.has_projects | boolean | | True False | -action_result.data.\*.has_wiki | boolean | | True False | -action_result.data.\*.homepage | string | `url` | | -action_result.data.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | -action_result.data.\*.html_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | -action_result.data.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | -action_result.data.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | -action_result.data.\*.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | -action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | -action_result.data.\*.language | string | | | -action_result.data.\*.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | -action_result.data.\*.license.key | string | | apache-2.0 | -action_result.data.\*.license.name | string | | Apache License 2.0 | -action_result.data.\*.license.node_id | string | | MDc6TGljZW5zZIT= | -action_result.data.\*.license.spdx_id | string | | Apache-2.0 | -action_result.data.\*.license.url | string | `url` | https://api.github.com/licenses/apache-2.0 | -action_result.data.\*.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | -action_result.data.\*.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | -action_result.data.\*.mirror_url | string | `url` | | -action_result.data.\*.name | string | | test-repo | -action_result.data.\*.node_id | string | | MDEwOlJlcG9zaXRvnckxNDEyMDQwMDA= | -action_result.data.\*.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | -action_result.data.\*.open_issues | numeric | | 0 | -action_result.data.\*.open_issues_count | numeric | | 0 | -action_result.data.\*.owner.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41409665?v=4 | -action_result.data.\*.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.owner.gravatar_id | string | | | -action_result.data.\*.owner.html_url | string | `url` | https://github.com/test | -action_result.data.\*.owner.id | numeric | | 41309165 | -action_result.data.\*.owner.login | string | `github username` | test | -action_result.data.\*.owner.node_id | string | | MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1 | -action_result.data.\*.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.owner.site_admin | boolean | | True False | -action_result.data.\*.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.owner.type | string | | Organization | -action_result.data.\*.owner.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.permissions.admin | boolean | | True False | -action_result.data.\*.permissions.pull | boolean | | True False | -action_result.data.\*.permissions.push | boolean | | True False | -action_result.data.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | -action_result.data.\*.pushed_at | string | | 2018-07-16T23:03:58Z | -action_result.data.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | -action_result.data.\*.size | numeric | | 0 | -action_result.data.\*.ssh_url | string | | git@github.com:test/test-repo.git | -action_result.data.\*.stargazers_count | numeric | | 0 | -action_result.data.\*.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | -action_result.data.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | -action_result.data.\*.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | -action_result.data.\*.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | -action_result.data.\*.svn_url | string | `url` | https://github.com/test/test-repo | -action_result.data.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | -action_result.data.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | -action_result.data.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | -action_result.data.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | -action_result.data.\*.watchers | numeric | | 0 | -action_result.data.\*.watchers_count | numeric | | 0 | +action_result.data.\*.author_association | string | | OWNER | +action_result.data.\*.body | string | | I am writing a comment to this issue | +action_result.data.\*.created_at | string | | 2019-07-16T19:52:27Z | +action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/1#issuecomment-511961016 | +action_result.data.\*.id | numeric | | 511961016 | +action_result.data.\*.issue_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1 | +action_result.data.\*.node_id | string | | MDEyOklzc3VlQ29tbWVudDUxMTk2MTAxNg== | +action_result.data.\*.updated_at | string | | 2019-07-16T19:52:27Z | +action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511961016 | +action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/52245234 | +action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | +action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | +action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | +action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | +action_result.data.\*.user.gravatar_id | string | | | +action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | +action_result.data.\*.user.id | numeric | | 99999999 | +action_result.data.\*.user.login | string | `github username` | repoowner | +action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | +action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | +action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | +action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | +action_result.data.\*.user.site_admin | boolean | | True False | +action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | +action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | +action_result.data.\*.user.type | string | | User | +action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'list organizations' +## action: 'list events' -List all organizations +List events performed by a user Type: **investigate**
Read only: **True** +Action will list a maximum of 300 events. Only events from the past 90 days will be listed. + #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**limit** | optional | Maximum number of organizations to be fetched | numeric | | +**username** | required | Username | string | `github username` | #### Action Output @@ -1454,19 +662,888 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- action_result.status | string | | success failure | action_result.message | string | | | -action_result.parameter.limit | numeric | | | -action_result.data.\*.id | numeric | | 41301665 | -action_result.data.\*.login | string | `github organization name` | test | -action_result.data.\*.description | string | | | -action_result.data.\*.url | string | `url` | https://api.github.com/orgs/test | -action_result.data.\*.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41301665?v=4 | -action_result.data.\*.events_url | string | `url` | https://api.github.com/orgs/test/events | -action_result.data.\*.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | -action_result.data.\*.issues_url | string | `url` | https://api.github.com/orgs/test/issues | -action_result.data.\*.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | -action_result.data.\*.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | -action_result.data.\*.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | -action_result.data.\*.repos_url | string | `url` | https://api.github.com/orgs/test/repos | +action_result.parameter.username | string | `github username` | | +action_result.data.\*.actor.avatar_url | string | `url` | https://avatars.githubusercontent.com/u/41301719? | +action_result.data.\*.actor.display_login | string | `github username` | test | +action_result.data.\*.actor.gravatar_id | string | | | +action_result.data.\*.actor.id | numeric | | 41301719 | +action_result.data.\*.actor.login | string | `github username` | test | +action_result.data.\*.actor.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.created_at | string | | 2018-07-19T06:26:57Z | +action_result.data.\*.id | string | | 7987124418 | +action_result.data.\*.org.avatar_url | string | `url` | https://avatars.githubusercontent.com/u/41301665? | +action_result.data.\*.org.gravatar_id | string | | | +action_result.data.\*.org.id | numeric | | 41301665 | +action_result.data.\*.org.login | string | `github organization name` | test | +action_result.data.\*.org.url | string | `url` | https://api.github.com/orgs/test | +action_result.data.\*.payload.action | string | | added | +action_result.data.\*.payload.after | string | `sha1` | 286996c9d9bf535e9e2de7cb3bb11a7a67dc1c61 | +action_result.data.\*.payload.alert.affected_package_name | string | | many_versioned_gem | +action_result.data.\*.payload.alert.affected_range | string | | 0.2.0 | +action_result.data.\*.payload.alert.dismiss_reason | string | | No bandwidth to fix this | +action_result.data.\*.payload.alert.dismissed_at | string | | 2017-10-25T00:00:00+00:00 | +action_result.data.\*.payload.alert.dismisser.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | +action_result.data.\*.payload.alert.dismisser.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.alert.dismisser.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.alert.dismisser.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.alert.dismisser.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.alert.dismisser.gravatar_id | string | | | +action_result.data.\*.payload.alert.dismisser.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.alert.dismisser.id | numeric | | 1032411 | +action_result.data.\*.payload.alert.dismisser.login | string | `github username` | test | +action_result.data.\*.payload.alert.dismisser.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | +action_result.data.\*.payload.alert.dismisser.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.alert.dismisser.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.alert.dismisser.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.alert.dismisser.site_admin | boolean | | True False | +action_result.data.\*.payload.alert.dismisser.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.alert.dismisser.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.alert.dismisser.type | string | | User | +action_result.data.\*.payload.alert.dismisser.url | string | `url` | https://api.github.com/users/octocat | +action_result.data.\*.payload.alert.external_identifier | string | | CVE-2018-3728 | +action_result.data.\*.payload.alert.external_reference | string | `url` | https://nvd.nist.gov/vuln/detail/CVE-2018-3728 | +action_result.data.\*.payload.alert.fixed_in | string | | 0.2.5 | +action_result.data.\*.payload.alert.id | numeric | | 7649605 | +action_result.data.\*.payload.base_ref | string | | | +action_result.data.\*.payload.before | string | `sha1` | 286996c9d9bf535e9ebde7cb3bb11a7a67dcbc6b | +action_result.data.\*.payload.blocked_user.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/39652351?v=4 | +action_result.data.\*.payload.blocked_user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.blocked_user.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.blocked_user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.blocked_user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.blocked_user.gravatar_id | string | | | +action_result.data.\*.payload.blocked_user.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.blocked_user.id | numeric | | 406494157 | +action_result.data.\*.payload.blocked_user.login | string | `github username` | test | +action_result.data.\*.payload.blocked_user.node_id | string | | MDQ6VXNlcjM5NjUyMzUx | +action_result.data.\*.payload.blocked_user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.blocked_user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.blocked_user.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.blocked_user.site_admin | boolean | | True False | +action_result.data.\*.payload.blocked_user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.blocked_user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.blocked_user.type | string | | User | +action_result.data.\*.payload.blocked_user.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.changes.body.from | string | | | +action_result.data.\*.payload.changes.color.from | string | | | +action_result.data.\*.payload.changes.description.from | string | | | +action_result.data.\*.payload.changes.due_on.from | string | | | +action_result.data.\*.payload.changes.name.from | string | | | +action_result.data.\*.payload.changes.note.from | string | | | +action_result.data.\*.payload.changes.permission.from | string | | write | +action_result.data.\*.payload.changes.privacy.from | string | | | +action_result.data.\*.payload.changes.repository.permissions.from.admin | boolean | | True False | +action_result.data.\*.payload.changes.repository.permissions.from.pull | boolean | | True False | +action_result.data.\*.payload.changes.repository.permissions.from.push | boolean | | True False | +action_result.data.\*.payload.changes.title.from | string | | | +action_result.data.\*.payload.check_run.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | +action_result.data.\*.payload.check_run.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | +action_result.data.\*.payload.check_run.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | +action_result.data.\*.payload.check_run.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | +action_result.data.\*.payload.check_suite.after | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | +action_result.data.\*.payload.check_suite.app.created_at | string | | 2018-04-25 20:42:10 | +action_result.data.\*.payload.check_suite.app.description | string | | | +action_result.data.\*.payload.check_suite.app.external_url | string | `url` | http://super-duper.example.com | +action_result.data.\*.payload.check_suite.app.html_url | string | `url` | http://github.com/apps/super-duper | +action_result.data.\*.payload.check_suite.app.id | numeric | | 2 | +action_result.data.\*.payload.check_suite.app.name | string | | Super Duper | +action_result.data.\*.payload.check_suite.app.node_id | string | | MDExOkludGVncmF0aW9uMQ= | +action_result.data.\*.payload.check_suite.app.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | +action_result.data.\*.payload.check_suite.app.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.check_suite.app.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.check_suite.app.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.check_suite.app.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.check_suite.app.owner.gravatar_id | string | | | +action_result.data.\*.payload.check_suite.app.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.check_suite.app.owner.id | numeric | | 29939753 | +action_result.data.\*.payload.check_suite.app.owner.login | string | `github username` | test | +action_result.data.\*.payload.check_suite.app.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.payload.check_suite.app.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.check_suite.app.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.check_suite.app.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.check_suite.app.owner.site_admin | boolean | | True False | +action_result.data.\*.payload.check_suite.app.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.check_suite.app.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.check_suite.app.owner.type | string | | User | +action_result.data.\*.payload.check_suite.app.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.check_suite.app.updated_at | string | | 2018-04-25 20:42:10 | +action_result.data.\*.payload.check_suite.before | string | `sha1` | 146e867f55c26428e5f9fade55a9bbf5e95a7912 | +action_result.data.\*.payload.check_suite.check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | +action_result.data.\*.payload.check_suite.conclusion | string | | neutral | +action_result.data.\*.payload.check_suite.created_at | string | | 2018-04-25 20:42:10 | +action_result.data.\*.payload.check_suite.head_branch | string | | master | +action_result.data.\*.payload.check_suite.head_commit.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | +action_result.data.\*.payload.check_suite.head_commit.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.check_suite.head_commit.author.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.check_suite.head_commit.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.check_suite.head_commit.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.check_suite.head_commit.author.gravatar_id | string | | | +action_result.data.\*.payload.check_suite.head_commit.author.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.check_suite.head_commit.author.id | numeric | | 1 | +action_result.data.\*.payload.check_suite.head_commit.author.login | string | `github username` | test | +action_result.data.\*.payload.check_suite.head_commit.author.node_id | string | | MDQ6VXNlcjE= | +action_result.data.\*.payload.check_suite.head_commit.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.check_suite.head_commit.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.check_suite.head_commit.author.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.check_suite.head_commit.author.site_admin | boolean | | True False | +action_result.data.\*.payload.check_suite.head_commit.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.check_suite.head_commit.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.check_suite.head_commit.author.type | string | | User | +action_result.data.\*.payload.check_suite.head_commit.author.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.check_suite.head_commit.committer.email | string | `email` | test@user.com | +action_result.data.\*.payload.check_suite.head_commit.committer.name | string | `github username` | test | +action_result.data.\*.payload.check_suite.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | +action_result.data.\*.payload.check_suite.head_commit.message | string | | Sample message | +action_result.data.\*.payload.check_suite.head_commit.timestamp | string | | 2018-05-04T01:14:46Z | +action_result.data.\*.payload.check_suite.head_commit.tree_id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | +action_result.data.\*.payload.check_suite.head_sha | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | +action_result.data.\*.payload.check_suite.id | numeric | | 5 | +action_result.data.\*.payload.check_suite.latest_check_runs_count | numeric | | 1 | +action_result.data.\*.payload.check_suite.latest_check_runs_url | string | `url` | https://api.github.com/repos/test/test-repo/check-suites/5/check-runs | +action_result.data.\*.payload.check_suite.pull_requests.\*.diff_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.diff | +action_result.data.\*.payload.check_suite.pull_requests.\*.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721 | +action_result.data.\*.payload.check_suite.pull_requests.\*.patch_url | string | `url` | https://github.com/twigphp/Twig/pull/2721.patch | +action_result.data.\*.payload.check_suite.pull_requests.\*.url | string | `url` | https://api.github.com/repos/twigphp/Twig/pulls/2721 | +action_result.data.\*.payload.check_suite.status | string | | completed | +action_result.data.\*.payload.check_suite.updated_at | string | | 2018-04-25 20:42:10 | +action_result.data.\*.payload.comment.links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | +action_result.data.\*.payload.comment.links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | +action_result.data.\*.payload.comment.author_association | string | | CONTRIBUTOR | +action_result.data.\*.payload.comment.body | string | | LGTM. Can you add some tests? | +action_result.data.\*.payload.comment.commit_id | string | `sha1` | 329bd507c1123c1ab24e58b78fa8d32bd1c70639 | +action_result.data.\*.payload.comment.created_at | string | | 2018-07-20T05:36:22Z | +action_result.data.\*.payload.comment.diff_hunk | string | | Sample | +action_result.data.\*.payload.comment.html_url | string | `url` | https://github.com/twigphp/Twig/pull/2721#issuecomment-406494157 | +action_result.data.\*.payload.comment.id | numeric | | 406494157 | +action_result.data.\*.payload.comment.in_reply_to_id | numeric | | 203123149 | +action_result.data.\*.payload.comment.issue_url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/2721 | +action_result.data.\*.payload.comment.line | string | | | +action_result.data.\*.payload.comment.node_id | string | | MDEyOklzc3VlQ29tbWVudDQwNjQ5NDE1Nw== | +action_result.data.\*.payload.comment.original_commit_id | string | `sha1` | 329bd507c1123c1ab24e58b78fa8d32bd1c70639 | +action_result.data.\*.payload.comment.original_position | numeric | | 13 | +action_result.data.\*.payload.comment.path | string | | src/test/Component/Finder/Finder.php | +action_result.data.\*.payload.comment.position | numeric | | 13 | +action_result.data.\*.payload.comment.pull_request_review_id | numeric | | 138091767 | +action_result.data.\*.payload.comment.pull_request_url | string | `url` | https://api.github.com/repos/test/test/pulls/27967 | +action_result.data.\*.payload.comment.updated_at | string | | 2018-07-20T05:36:22Z | +action_result.data.\*.payload.comment.url | string | `url` | https://api.github.com/repos/twigphp/Twig/issues/comments/406494157 | +action_result.data.\*.payload.comment.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | +action_result.data.\*.payload.comment.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.comment.user.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.comment.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.comment.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.comment.user.gravatar_id | string | | | +action_result.data.\*.payload.comment.user.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.comment.user.id | numeric | | 1032411 | +action_result.data.\*.payload.comment.user.login | string | `github username` | test | +action_result.data.\*.payload.comment.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | +action_result.data.\*.payload.comment.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.comment.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.comment.user.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.comment.user.site_admin | boolean | | True False | +action_result.data.\*.payload.comment.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.comment.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.comment.user.type | string | | User | +action_result.data.\*.payload.comment.user.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.commits.\*.href | string | `url` | https://api.github.com/repos/test/test/pulls/27999/commits | +action_result.data.\*.payload.compare | string | `url` | https://github.com/test/test-repo/compare/a10867b14bb7...000000000000 | +action_result.data.\*.payload.created | boolean | | True False | +action_result.data.\*.payload.deleted | boolean | | True False | +action_result.data.\*.payload.description | string | | test-repo-Description | +action_result.data.\*.payload.distinct_size | numeric | | 100 | +action_result.data.\*.payload.effective_date | string | | 2017-10-25T00:00:00+00:00 | +action_result.data.\*.payload.forced | boolean | | True False | +action_result.data.\*.payload.forkee.archive_url | string | `url` | https://api.github.com/repos/test/test-proj/{archive_format}{/ref} | +action_result.data.\*.payload.forkee.archived | boolean | | True False | +action_result.data.\*.payload.forkee.assignees_url | string | `url` | https://api.github.com/repos/test/test-proj/assignees{/user} | +action_result.data.\*.payload.forkee.blobs_url | string | `url` | https://api.github.com/repos/test/test-proj/git/blobs{/sha} | +action_result.data.\*.payload.forkee.branches_url | string | `url` | https://api.github.com/repos/test/test-proj/branches{/branch} | +action_result.data.\*.payload.forkee.clone_url | string | `url` | https://github.com/test/test-proj.git | +action_result.data.\*.payload.forkee.collaborators_url | string | `url` | https://api.github.com/repos/test/test-proj/collaborators{/collaborator} | +action_result.data.\*.payload.forkee.comments_url | string | `url` | https://api.github.com/repos/test/test-proj/comments{/number} | +action_result.data.\*.payload.forkee.commits_url | string | `url` | https://api.github.com/repos/test/test-proj/commits{/sha} | +action_result.data.\*.payload.forkee.compare_url | string | `url` | https://api.github.com/repos/test/test-proj/compare/{base}...{head} | +action_result.data.\*.payload.forkee.contents_url | string | `url` | https://api.github.com/repos/test/test-proj/contents/{+path} | +action_result.data.\*.payload.forkee.contributors_url | string | `url` | https://api.github.com/repos/test/test-proj/contributors | +action_result.data.\*.payload.forkee.created_at | string | | 2018-07-20T06:03:13Z | +action_result.data.\*.payload.forkee.default_branch | string | | master | +action_result.data.\*.payload.forkee.deployments_url | string | `url` | https://api.github.com/repos/test/test-proj/deployments | +action_result.data.\*.payload.forkee.description | string | | | +action_result.data.\*.payload.forkee.downloads_url | string | `url` | https://api.github.com/repos/test/test-proj/downloads | +action_result.data.\*.payload.forkee.events_url | string | `url` | https://api.github.com/repos/test/test-proj/events | +action_result.data.\*.payload.forkee.fork | boolean | | True False | +action_result.data.\*.payload.forkee.forks | numeric | | 0 | +action_result.data.\*.payload.forkee.forks_count | numeric | | 0 | +action_result.data.\*.payload.forkee.forks_url | string | `url` | https://api.github.com/repos/test/test-proj/forks | +action_result.data.\*.payload.forkee.full_name | string | | test/test-repo | +action_result.data.\*.payload.forkee.git_commits_url | string | `url` | https://api.github.com/repos/test/test-proj/git/commits{/sha} | +action_result.data.\*.payload.forkee.git_refs_url | string | `url` | https://api.github.com/repos/test/test-proj/git/refs{/sha} | +action_result.data.\*.payload.forkee.git_tags_url | string | `url` | https://api.github.com/repos/test/test-proj/git/tags{/sha} | +action_result.data.\*.payload.forkee.git_url | string | | git://github.com/test/test-proj.git | +action_result.data.\*.payload.forkee.has_downloads | boolean | | True False | +action_result.data.\*.payload.forkee.has_issues | boolean | | True False | +action_result.data.\*.payload.forkee.has_pages | boolean | | True False | +action_result.data.\*.payload.forkee.has_projects | boolean | | True False | +action_result.data.\*.payload.forkee.has_wiki | boolean | | True False | +action_result.data.\*.payload.forkee.homepage | string | `url` | https://test.com | +action_result.data.\*.payload.forkee.hooks_url | string | `url` | https://api.github.com/repos/test/test-proj/hooks | +action_result.data.\*.payload.forkee.html_url | string | `url` | https://github.com/test/test-proj | +action_result.data.\*.payload.forkee.id | numeric | | 141670240 | +action_result.data.\*.payload.forkee.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-proj/issues/comments{/number} | +action_result.data.\*.payload.forkee.issue_events_url | string | `url` | https://api.github.com/repos/test/test-proj/issues/events{/number} | +action_result.data.\*.payload.forkee.issues_url | string | `url` | https://api.github.com/repos/test/test-proj/issues{/number} | +action_result.data.\*.payload.forkee.keys_url | string | `url` | https://api.github.com/repos/test/test-proj/keys{/key_id} | +action_result.data.\*.payload.forkee.labels_url | string | `url` | https://api.github.com/repos/test/test-proj/labels{/name} | +action_result.data.\*.payload.forkee.language | string | | PHP | +action_result.data.\*.payload.forkee.languages_url | string | `url` | https://api.github.com/repos/test/test-proj/languages | +action_result.data.\*.payload.forkee.license.key | string | | mit | +action_result.data.\*.payload.forkee.license.name | string | | MIT License | +action_result.data.\*.payload.forkee.license.node_id | string | | MDc6TGljZW5zZTEz | +action_result.data.\*.payload.forkee.license.spdx_id | string | | MIT | +action_result.data.\*.payload.forkee.license.url | string | `url` | https://api.github.com/licenses/mit | +action_result.data.\*.payload.forkee.merges_url | string | `url` | https://api.github.com/repos/test/test-proj/merges | +action_result.data.\*.payload.forkee.milestones_url | string | `url` | https://api.github.com/repos/test/test-proj/milestones{/number} | +action_result.data.\*.payload.forkee.mirror_url | string | `url` | | +action_result.data.\*.payload.forkee.name | string | | test-proj | +action_result.data.\*.payload.forkee.node_id | string | | MDEwOlJlcG9zaXRvcnkxNDE2NzAyNDA= | +action_result.data.\*.payload.forkee.notifications_url | string | `url` | https://api.github.com/repos/test/test-proj/notifications{?since,all,participating} | +action_result.data.\*.payload.forkee.open_issues | numeric | | 0 | +action_result.data.\*.payload.forkee.open_issues_count | numeric | | 0 | +action_result.data.\*.payload.forkee.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | +action_result.data.\*.payload.forkee.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.forkee.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.forkee.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.forkee.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.forkee.owner.gravatar_id | string | | | +action_result.data.\*.payload.forkee.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.forkee.owner.id | numeric | | 29939753 | +action_result.data.\*.payload.forkee.owner.login | string | `github username` | test | +action_result.data.\*.payload.forkee.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.payload.forkee.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.forkee.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.forkee.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.forkee.owner.site_admin | boolean | | True False | +action_result.data.\*.payload.forkee.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.forkee.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.forkee.owner.type | string | | User | +action_result.data.\*.payload.forkee.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.forkee.private | boolean | | True False | +action_result.data.\*.payload.forkee.public | boolean | | True False | +action_result.data.\*.payload.forkee.pulls_url | string | `url` | https://api.github.com/repos/test/test-proj/pulls{/number} | +action_result.data.\*.payload.forkee.pushed_at | string | | 2018-07-20T06:02:31Z | +action_result.data.\*.payload.forkee.releases_url | string | `url` | https://api.github.com/repos/test/test-proj/releases{/id} | +action_result.data.\*.payload.forkee.size | numeric | | 0 | +action_result.data.\*.payload.forkee.ssh_url | string | | git@github.com:test/test-proj.git | +action_result.data.\*.payload.forkee.stargazers_count | numeric | | 0 | +action_result.data.\*.payload.forkee.stargazers_url | string | `url` | https://api.github.com/repos/test/test-proj/stargazers | +action_result.data.\*.payload.forkee.statuses_url | string | `url` | https://api.github.com/repos/test/test-proj/statuses/{sha} | +action_result.data.\*.payload.forkee.subscribers_url | string | `url` | https://api.github.com/repos/test/test-proj/subscribers | +action_result.data.\*.payload.forkee.subscription_url | string | `url` | https://api.github.com/repos/test/test-proj/subscription | +action_result.data.\*.payload.forkee.svn_url | string | `url` | https://github.com/test/test-proj | +action_result.data.\*.payload.forkee.tags_url | string | `url` | https://api.github.com/repos/test/test-proj/tags | +action_result.data.\*.payload.forkee.teams_url | string | `url` | https://api.github.com/repos/test/test-proj/teams | +action_result.data.\*.payload.forkee.trees_url | string | `url` | https://api.github.com/repos/test/test-proj/git/trees{/sha} | +action_result.data.\*.payload.forkee.updated_at | string | | 2018-07-20T06:02:33Z | +action_result.data.\*.payload.forkee.url | string | `url` | https://api.github.com/repos/test/test-proj | +action_result.data.\*.payload.forkee.watchers | numeric | | 0 | +action_result.data.\*.payload.forkee.watchers_count | numeric | | 0 | +action_result.data.\*.payload.head | string | `sha1` | 9bfa971bc5662a6f90408b58a7b2453d7dae4f83 | +action_result.data.\*.payload.head_commit.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | +action_result.data.\*.payload.head_commit.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.head_commit.author.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.head_commit.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.head_commit.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.head_commit.author.gravatar_id | string | | | +action_result.data.\*.payload.head_commit.author.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.head_commit.author.id | numeric | | 1 | +action_result.data.\*.payload.head_commit.author.login | string | `github username` | test | +action_result.data.\*.payload.head_commit.author.node_id | string | | MDQ6VXNlcjE= | +action_result.data.\*.payload.head_commit.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.head_commit.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.head_commit.author.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.head_commit.author.site_admin | boolean | | True False | +action_result.data.\*.payload.head_commit.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.head_commit.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.head_commit.author.type | string | | User | +action_result.data.\*.payload.head_commit.author.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.head_commit.committer.email | string | `email` | test@user.com | +action_result.data.\*.payload.head_commit.committer.name | string | `github username` | test | +action_result.data.\*.payload.head_commit.id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | +action_result.data.\*.payload.head_commit.message | string | | Sample message | +action_result.data.\*.payload.head_commit.timestamp | string | | 2018-05-04T01:14:46Z | +action_result.data.\*.payload.head_commit.tree_id | string | `sha1` | d6fde92930d4715a2b49857d24b940956b26d2d3 | +action_result.data.\*.payload.installation.access_tokens_url | string | `url` | https://api.github.com/installations/2/access_tokens | +action_result.data.\*.payload.installation.account.id | numeric | | 18404719 | +action_result.data.\*.payload.installation.account.login | string | `github username` | test | +action_result.data.\*.payload.installation.account.organization_billing_email | string | `email` | username@email.com | +action_result.data.\*.payload.installation.account.type | string | | Organization | +action_result.data.\*.payload.installation.app_id | numeric | | 5725 | +action_result.data.\*.payload.installation.created_at | numeric | | 1525109898 | +action_result.data.\*.payload.installation.events | string | | User | +action_result.data.\*.payload.installation.html_url | string | `url` | https://github.com/settings/installations/2 | +action_result.data.\*.payload.installation.id | numeric | | 2 | +action_result.data.\*.payload.installation.permissions.contents | string | | read | +action_result.data.\*.payload.installation.permissions.issues | string | | write | +action_result.data.\*.payload.installation.permissions.metadata | string | | read | +action_result.data.\*.payload.installation.repositories_url | string | `url` | https://api.github.com/installation/repositories | +action_result.data.\*.payload.installation.repository_selection | string | | selected | +action_result.data.\*.payload.installation.single_file_name | string | `file name` | config.yml | +action_result.data.\*.payload.installation.target_id | numeric | | 3880403 | +action_result.data.\*.payload.installation.target_type | string | | User | +action_result.data.\*.payload.installation.updated_at | numeric | | 1525109899 | +action_result.data.\*.payload.issue.href | string | `url` | https://api.github.com/repos/test/test/issues/27999 | +action_result.data.\*.payload.marketplace_purchase.account.id | numeric | | 18404719 | +action_result.data.\*.payload.marketplace_purchase.account.login | string | `github username` | test | +action_result.data.\*.payload.marketplace_purchase.account.organization_billing_email | string | `email` | username@email.com | +action_result.data.\*.payload.marketplace_purchase.account.type | string | | Organization | +action_result.data.\*.payload.marketplace_purchase.billing_cycle | string | | monthly | +action_result.data.\*.payload.marketplace_purchase.free_trial_ends_on | string | | | +action_result.data.\*.payload.marketplace_purchase.next_billing_date | string | | 2017-11-05T00:00:00+00:00 | +action_result.data.\*.payload.marketplace_purchase.on_free_trial | boolean | | True False | +action_result.data.\*.payload.marketplace_purchase.plan.bullets | string | | Is Basic | +action_result.data.\*.payload.marketplace_purchase.plan.description | string | | Basic Plan | +action_result.data.\*.payload.marketplace_purchase.plan.has_free_trial | boolean | | True False | +action_result.data.\*.payload.marketplace_purchase.plan.id | numeric | | 435 | +action_result.data.\*.payload.marketplace_purchase.plan.monthly_price_in_cents | numeric | | 1000 | +action_result.data.\*.payload.marketplace_purchase.plan.name | string | | Basic Plan | +action_result.data.\*.payload.marketplace_purchase.plan.price_model | string | | per-unit | +action_result.data.\*.payload.marketplace_purchase.plan.unit_name | string | | seat | +action_result.data.\*.payload.marketplace_purchase.plan.yearly_price_in_cents | numeric | | 10000 | +action_result.data.\*.payload.marketplace_purchase.unit_count | numeric | | 1 | +action_result.data.\*.payload.master_branch | string | | master | +action_result.data.\*.payload.member.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/41301719?v=4 | +action_result.data.\*.payload.member.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.member.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.member.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.member.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.member.gravatar_id | string | | | +action_result.data.\*.payload.member.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.member.id | numeric | | 41301719 | +action_result.data.\*.payload.member.login | string | `github username` | test | +action_result.data.\*.payload.member.node_id | string | | MDQ6VXNlcjQxMzA5NzE5 | +action_result.data.\*.payload.member.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.member.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.member.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.member.site_admin | boolean | | True False | +action_result.data.\*.payload.member.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.member.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.member.type | string | | User | +action_result.data.\*.payload.member.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.number | numeric | | 27999 | +action_result.data.\*.payload.organization.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41309665?v=4 | +action_result.data.\*.payload.organization.created_at | string | | 2018-07-16T23:02:38Z | +action_result.data.\*.payload.organization.description | string | | | +action_result.data.\*.payload.organization.events_url | string | `url` | https://api.github.com/orgs/test/events | +action_result.data.\*.payload.organization.followers | numeric | | 3 | +action_result.data.\*.payload.organization.following | numeric | | 3 | +action_result.data.\*.payload.organization.has_organization_projects | boolean | | True False | +action_result.data.\*.payload.organization.has_repository_projects | boolean | | True False | +action_result.data.\*.payload.organization.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | +action_result.data.\*.payload.organization.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.organization.id | numeric | | 41309665 | +action_result.data.\*.payload.organization.issues_url | string | `url` | https://api.github.com/orgs/test/issues | +action_result.data.\*.payload.organization.login | string | `github organization name` | test | +action_result.data.\*.payload.organization.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | +action_result.data.\*.payload.organization.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | +action_result.data.\*.payload.organization.public_gists | numeric | | 3 | +action_result.data.\*.payload.organization.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | +action_result.data.\*.payload.organization.public_repos | numeric | | 3 | +action_result.data.\*.payload.organization.repos_url | string | `url` | https://api.github.com/orgs/test/repos | +action_result.data.\*.payload.organization.type | string | | Organization | +action_result.data.\*.payload.organization.updated_at | string | | 2018-07-16T23:02:38Z | +action_result.data.\*.payload.organization.url | string | `url` | https://api.github.com/orgs/test | +action_result.data.\*.payload.pages.\*.action | string | | created | +action_result.data.\*.payload.pages.\*.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.payload.pages.\*.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.pages.\*.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.pages.\*.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.pages.\*.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.pages.\*.creator.gravatar_id | string | | | +action_result.data.\*.payload.pages.\*.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.pages.\*.creator.id | numeric | | 73419 | +action_result.data.\*.payload.pages.\*.creator.login | string | `github username` | test | +action_result.data.\*.payload.pages.\*.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.payload.pages.\*.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.pages.\*.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.pages.\*.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.pages.\*.creator.site_admin | boolean | | True False | +action_result.data.\*.payload.pages.\*.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.pages.\*.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.pages.\*.creator.type | string | | User | +action_result.data.\*.payload.pages.\*.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.pages.\*.html_url | string | `url` | https://github.com/test/test-proj/wiki/Home | +action_result.data.\*.payload.pages.\*.page_name | string | | Home | +action_result.data.\*.payload.pages.\*.sha | string | `sha1` | 75c7614e23cb40511d9cb3eb00d20e5cadc0d0e6 | +action_result.data.\*.payload.pages.\*.summary | string | | | +action_result.data.\*.payload.pages.\*.title | string | | Home | +action_result.data.\*.payload.project.body | string | | Project tasks for a trip to Space | +action_result.data.\*.payload.project.columns_url | string | `url` | https://api.github.com/projects/1547122/columns | +action_result.data.\*.payload.project.created_at | string | | 2018-05-30T20:18:51Z | +action_result.data.\*.payload.project.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.payload.project.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.project.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.project.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.project.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.project.creator.gravatar_id | string | | | +action_result.data.\*.payload.project.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.project.creator.id | numeric | | 73419 | +action_result.data.\*.payload.project.creator.login | string | `github username` | test | +action_result.data.\*.payload.project.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.payload.project.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.project.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.project.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.project.creator.site_admin | boolean | | True False | +action_result.data.\*.payload.project.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.project.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.project.creator.type | string | | User | +action_result.data.\*.payload.project.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.project.html_url | string | `url` | https://github.com/test/test-repo/projects/1 | +action_result.data.\*.payload.project.id | numeric | | 1547122 | +action_result.data.\*.payload.project.name | string | | Space 2.0 | +action_result.data.\*.payload.project.node_id | string | | MDc6UHJvamVjdDE1NDcxMjI= | +action_result.data.\*.payload.project.number | numeric | | 1 | +action_result.data.\*.payload.project.owner_url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.payload.project.state | string | | open | +action_result.data.\*.payload.project.updated_at | string | | 2018-05-30T20:18:51Z | +action_result.data.\*.payload.project.url | string | `url` | https://api.github.com/projects/1547122 | +action_result.data.\*.payload.project_card.column_id | numeric | | 2803722 | +action_result.data.\*.payload.project_card.column_url | string | `url` | https://api.github.com/projects/columns/2803722 | +action_result.data.\*.payload.project_card.created_at | string | | 2018-05-30T20:18:52Z | +action_result.data.\*.payload.project_card.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | +action_result.data.\*.payload.project_card.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.project_card.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.project_card.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.project_card.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.project_card.creator.gravatar_id | string | | | +action_result.data.\*.payload.project_card.creator.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.project_card.creator.id | numeric | | 73419 | +action_result.data.\*.payload.project_card.creator.login | string | `github username` | test | +action_result.data.\*.payload.project_card.creator.node_id | string | | MDQ6VXNlcjczNDE5 | +action_result.data.\*.payload.project_card.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.project_card.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.project_card.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.project_card.creator.site_admin | boolean | | True False | +action_result.data.\*.payload.project_card.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.project_card.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.project_card.creator.type | string | | User | +action_result.data.\*.payload.project_card.creator.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.project_card.id | numeric | | 10189042 | +action_result.data.\*.payload.project_card.node_id | string | | MDExOlByb2plY3RDYXJkMTAxODkwNDI= | +action_result.data.\*.payload.project_card.note | string | | Work that can be completed in one hour or less | +action_result.data.\*.payload.project_card.updated_at | string | | 2018-05-30T20:18:52Z | +action_result.data.\*.payload.project_card.url | string | `url` | https://api.github.com/projects/columns/cards/10189042 | +action_result.data.\*.payload.project_column.cards_url | string | `url` | https://api.github.com/projects/columns/2803722/cards | +action_result.data.\*.payload.project_column.created_at | string | | 2018-05-30T20:18:52Z | +action_result.data.\*.payload.project_column.id | numeric | | 2803722 | +action_result.data.\*.payload.project_column.name | string | | Small bugfixes | +action_result.data.\*.payload.project_column.node_id | string | | MDEzOlByb2plY3RDb2x1bW4yODAzNzIy | +action_result.data.\*.payload.project_column.project_url | string | `url` | https://api.github.com/projects/1547122 | +action_result.data.\*.payload.project_column.updated_at | string | | 2018-05-30T20:18:52Z | +action_result.data.\*.payload.project_column.url | string | `url` | https://api.github.com/projects/columns/2803722 | +action_result.data.\*.payload.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | +action_result.data.\*.payload.push_id | numeric | | 2731668591 | +action_result.data.\*.payload.pusher_type | string | | user | +action_result.data.\*.payload.ref | string | | refs/heads/2.8 | +action_result.data.\*.payload.ref_type | string | | repository | +action_result.data.\*.payload.release.assets.\*.browser_download_url | string | `url` | https://github.com/test/test-proj/releases/download/1.1.1.1.1/phapp_code42.tgz | +action_result.data.\*.payload.release.assets.\*.content_type | string | | application/x-compressed | +action_result.data.\*.payload.release.assets.\*.created_at | string | | 2018-07-20T13:12:10Z | +action_result.data.\*.payload.release.assets.\*.download_count | numeric | | 0 | +action_result.data.\*.payload.release.assets.\*.id | numeric | | 7946908 | +action_result.data.\*.payload.release.assets.\*.label | string | | | +action_result.data.\*.payload.release.assets.\*.name | string | | phapp_code42.tgz | +action_result.data.\*.payload.release.assets.\*.node_id | string | | MDEyOlJlbGVhc2VBc3NldDc5NDY5MDg= | +action_result.data.\*.payload.release.assets.\*.size | numeric | | 91097 | +action_result.data.\*.payload.release.assets.\*.state | string | | uploaded | +action_result.data.\*.payload.release.assets.\*.updated_at | string | | 2018-07-20T13:12:16Z | +action_result.data.\*.payload.release.assets.\*.uploader.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/41309719?v=4 | +action_result.data.\*.payload.release.assets.\*.uploader.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.release.assets.\*.uploader.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.release.assets.\*.uploader.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.release.assets.\*.uploader.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.release.assets.\*.uploader.gravatar_id | string | | | +action_result.data.\*.payload.release.assets.\*.uploader.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.release.assets.\*.uploader.id | numeric | | 41309719 | +action_result.data.\*.payload.release.assets.\*.uploader.login | string | `github username` | test | +action_result.data.\*.payload.release.assets.\*.uploader.node_id | string | | MDQ6VXNlcjQxMzA5NzE5 | +action_result.data.\*.payload.release.assets.\*.uploader.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.release.assets.\*.uploader.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.release.assets.\*.uploader.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.release.assets.\*.uploader.site_admin | boolean | | True False | +action_result.data.\*.payload.release.assets.\*.uploader.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.release.assets.\*.uploader.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.release.assets.\*.uploader.type | string | | User | +action_result.data.\*.payload.release.assets.\*.uploader.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.release.assets.\*.url | string | `url` | https://api.github.com/repos/test/test-proj/releases/assets/8946908 | +action_result.data.\*.payload.release.assets_url | string | `url` | https://api.github.com/repos/toml-lang/toml/releases/11865985/assets | +action_result.data.\*.payload.release.author.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/1?v=4 | +action_result.data.\*.payload.release.author.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.release.author.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.release.author.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.release.author.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.release.author.gravatar_id | string | | | +action_result.data.\*.payload.release.author.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.release.author.id | numeric | | 1 | +action_result.data.\*.payload.release.author.login | string | `github username` | test | +action_result.data.\*.payload.release.author.node_id | string | | MDQ6VXNlcjE= | +action_result.data.\*.payload.release.author.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.release.author.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.release.author.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.release.author.site_admin | boolean | | True False | +action_result.data.\*.payload.release.author.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.release.author.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.release.author.type | string | | User | +action_result.data.\*.payload.release.author.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.release.body | string | | Sample body | +action_result.data.\*.payload.release.created_at | string | | 2018-07-10T21:44:12Z | +action_result.data.\*.payload.release.draft | boolean | | True False | +action_result.data.\*.payload.release.html_url | string | `url` | https://github.com/toml-lang/toml/releases/tag/v0.5.0 | +action_result.data.\*.payload.release.id | numeric | | 11865985 | +action_result.data.\*.payload.release.name | string | | v0.5.0 | +action_result.data.\*.payload.release.node_id | string | | MDc6UmVsZWFzZTExODY1OTg1 | +action_result.data.\*.payload.release.prerelease | boolean | | True False | +action_result.data.\*.payload.release.published_at | string | | 2018-07-10T21:58:13Z | +action_result.data.\*.payload.release.tag_name | string | | v0.5.0 | +action_result.data.\*.payload.release.tarball_url | string | `url` | https://api.github.com/repos/toml-lang/toml/tarball/v0.5.0 | +action_result.data.\*.payload.release.target_commitish | string | | master | +action_result.data.\*.payload.release.upload_url | string | `url` | https://uploads.github.com/repos/toml-lang/toml/releases/11865985/assets{?name,label} | +action_result.data.\*.payload.release.url | string | `url` | https://api.github.com/repos/toml-lang/toml/releases/11865985 | +action_result.data.\*.payload.release.zipball_url | string | `url` | https://api.github.com/repos/toml-lang/toml/zipball/v0.5.0 | +action_result.data.\*.payload.repositories_added.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | +action_result.data.\*.payload.repositories_added.\*.archived | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | +action_result.data.\*.payload.repositories_added.\*.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | +action_result.data.\*.payload.repositories_added.\*.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | +action_result.data.\*.payload.repositories_added.\*.clone_url | string | `url` | https://github.com/test/test-repo.git | +action_result.data.\*.payload.repositories_added.\*.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | +action_result.data.\*.payload.repositories_added.\*.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | +action_result.data.\*.payload.repositories_added.\*.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | +action_result.data.\*.payload.repositories_added.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | +action_result.data.\*.payload.repositories_added.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | +action_result.data.\*.payload.repositories_added.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | +action_result.data.\*.payload.repositories_added.\*.created_at | string | | 2018-05-30T20:18:04Z | +action_result.data.\*.payload.repositories_added.\*.default_branch | string | | master | +action_result.data.\*.payload.repositories_added.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | +action_result.data.\*.payload.repositories_added.\*.description | string | | | +action_result.data.\*.payload.repositories_added.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | +action_result.data.\*.payload.repositories_added.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | +action_result.data.\*.payload.repositories_added.\*.fork | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.forks | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.forks_count | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | +action_result.data.\*.payload.repositories_added.\*.full_name | string | | test/test-repo | +action_result.data.\*.payload.repositories_added.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | +action_result.data.\*.payload.repositories_added.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | +action_result.data.\*.payload.repositories_added.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | +action_result.data.\*.payload.repositories_added.\*.git_url | string | | git://github.com/test/test-repo.git | +action_result.data.\*.payload.repositories_added.\*.has_downloads | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.has_issues | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.has_pages | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.has_projects | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.has_wiki | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.homepage | string | `url` | https://test.com | +action_result.data.\*.payload.repositories_added.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | +action_result.data.\*.payload.repositories_added.\*.html_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.repositories_added.\*.id | numeric | | 135493233 | +action_result.data.\*.payload.repositories_added.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | +action_result.data.\*.payload.repositories_added.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | +action_result.data.\*.payload.repositories_added.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | +action_result.data.\*.payload.repositories_added.\*.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | +action_result.data.\*.payload.repositories_added.\*.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | +action_result.data.\*.payload.repositories_added.\*.language | string | | | +action_result.data.\*.payload.repositories_added.\*.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | +action_result.data.\*.payload.repositories_added.\*.license.key | string | | mit | +action_result.data.\*.payload.repositories_added.\*.license.name | string | | MIT License | +action_result.data.\*.payload.repositories_added.\*.license.node_id | string | | MDc6TGljZW5zZTEz | +action_result.data.\*.payload.repositories_added.\*.license.spdx_id | string | | MIT | +action_result.data.\*.payload.repositories_added.\*.license.url | string | `url` | https://api.github.com/licenses/mit | +action_result.data.\*.payload.repositories_added.\*.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | +action_result.data.\*.payload.repositories_added.\*.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | +action_result.data.\*.payload.repositories_added.\*.mirror_url | string | `url` | | +action_result.data.\*.payload.repositories_added.\*.name | string | | test-repo | +action_result.data.\*.payload.repositories_added.\*.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | +action_result.data.\*.payload.repositories_added.\*.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | +action_result.data.\*.payload.repositories_added.\*.open_issues | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.open_issues_count | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | +action_result.data.\*.payload.repositories_added.\*.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.repositories_added.\*.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.repositories_added.\*.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.repositories_added.\*.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.repositories_added.\*.owner.gravatar_id | string | | | +action_result.data.\*.payload.repositories_added.\*.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.repositories_added.\*.owner.id | numeric | | 29939753 | +action_result.data.\*.payload.repositories_added.\*.owner.login | string | `github username` | test | +action_result.data.\*.payload.repositories_added.\*.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.payload.repositories_added.\*.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.repositories_added.\*.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.repositories_added.\*.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.repositories_added.\*.owner.site_admin | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.repositories_added.\*.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.repositories_added.\*.owner.type | string | | User | +action_result.data.\*.payload.repositories_added.\*.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.repositories_added.\*.private | boolean | | True False | +action_result.data.\*.payload.repositories_added.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | +action_result.data.\*.payload.repositories_added.\*.pushed_at | string | | 2018-05-30T20:18:34Z | +action_result.data.\*.payload.repositories_added.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | +action_result.data.\*.payload.repositories_added.\*.size | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.ssh_url | string | | git@github.com:test/test-repo.git | +action_result.data.\*.payload.repositories_added.\*.stargazers_count | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | +action_result.data.\*.payload.repositories_added.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | +action_result.data.\*.payload.repositories_added.\*.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | +action_result.data.\*.payload.repositories_added.\*.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | +action_result.data.\*.payload.repositories_added.\*.svn_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.repositories_added.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | +action_result.data.\*.payload.repositories_added.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | +action_result.data.\*.payload.repositories_added.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | +action_result.data.\*.payload.repositories_added.\*.updated_at | string | | 2018-05-30T20:18:44Z | +action_result.data.\*.payload.repositories_added.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.payload.repositories_added.\*.watchers | numeric | | 0 | +action_result.data.\*.payload.repositories_added.\*.watchers_count | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | +action_result.data.\*.payload.repositories_removed.\*.archived | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | +action_result.data.\*.payload.repositories_removed.\*.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | +action_result.data.\*.payload.repositories_removed.\*.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | +action_result.data.\*.payload.repositories_removed.\*.clone_url | string | `url` | https://github.com/test/test-repo.git | +action_result.data.\*.payload.repositories_removed.\*.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | +action_result.data.\*.payload.repositories_removed.\*.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | +action_result.data.\*.payload.repositories_removed.\*.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | +action_result.data.\*.payload.repositories_removed.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | +action_result.data.\*.payload.repositories_removed.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | +action_result.data.\*.payload.repositories_removed.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | +action_result.data.\*.payload.repositories_removed.\*.created_at | string | | 2018-05-30T20:18:04Z | +action_result.data.\*.payload.repositories_removed.\*.default_branch | string | | master | +action_result.data.\*.payload.repositories_removed.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | +action_result.data.\*.payload.repositories_removed.\*.description | string | | | +action_result.data.\*.payload.repositories_removed.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | +action_result.data.\*.payload.repositories_removed.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | +action_result.data.\*.payload.repositories_removed.\*.fork | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.forks | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.forks_count | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | +action_result.data.\*.payload.repositories_removed.\*.full_name | string | | test/test-repo | +action_result.data.\*.payload.repositories_removed.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | +action_result.data.\*.payload.repositories_removed.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | +action_result.data.\*.payload.repositories_removed.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | +action_result.data.\*.payload.repositories_removed.\*.git_url | string | | git://github.com/test/test-repo.git | +action_result.data.\*.payload.repositories_removed.\*.has_downloads | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.has_issues | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.has_pages | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.has_projects | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.has_wiki | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.homepage | string | `url` | https://test.com | +action_result.data.\*.payload.repositories_removed.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | +action_result.data.\*.payload.repositories_removed.\*.html_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.repositories_removed.\*.id | numeric | | 135493233 | +action_result.data.\*.payload.repositories_removed.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | +action_result.data.\*.payload.repositories_removed.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | +action_result.data.\*.payload.repositories_removed.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | +action_result.data.\*.payload.repositories_removed.\*.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | +action_result.data.\*.payload.repositories_removed.\*.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | +action_result.data.\*.payload.repositories_removed.\*.language | string | | | +action_result.data.\*.payload.repositories_removed.\*.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | +action_result.data.\*.payload.repositories_removed.\*.license.key | string | | mit | +action_result.data.\*.payload.repositories_removed.\*.license.name | string | | MIT License | +action_result.data.\*.payload.repositories_removed.\*.license.node_id | string | | MDc6TGljZW5zZTEz | +action_result.data.\*.payload.repositories_removed.\*.license.spdx_id | string | | MIT | +action_result.data.\*.payload.repositories_removed.\*.license.url | string | `url` | https://api.github.com/licenses/mit | +action_result.data.\*.payload.repositories_removed.\*.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | +action_result.data.\*.payload.repositories_removed.\*.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | +action_result.data.\*.payload.repositories_removed.\*.mirror_url | string | `url` | | +action_result.data.\*.payload.repositories_removed.\*.name | string | | test-repo | +action_result.data.\*.payload.repositories_removed.\*.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | +action_result.data.\*.payload.repositories_removed.\*.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | +action_result.data.\*.payload.repositories_removed.\*.open_issues | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.open_issues_count | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | +action_result.data.\*.payload.repositories_removed.\*.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.repositories_removed.\*.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.repositories_removed.\*.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.repositories_removed.\*.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.repositories_removed.\*.owner.gravatar_id | string | | | +action_result.data.\*.payload.repositories_removed.\*.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.repositories_removed.\*.owner.id | numeric | | 29939753 | +action_result.data.\*.payload.repositories_removed.\*.owner.login | string | `github username` | test | +action_result.data.\*.payload.repositories_removed.\*.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.payload.repositories_removed.\*.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.repositories_removed.\*.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.repositories_removed.\*.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.repositories_removed.\*.owner.site_admin | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.repositories_removed.\*.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.repositories_removed.\*.owner.type | string | | User | +action_result.data.\*.payload.repositories_removed.\*.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.repositories_removed.\*.private | boolean | | True False | +action_result.data.\*.payload.repositories_removed.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | +action_result.data.\*.payload.repositories_removed.\*.pushed_at | string | | 2018-05-30T20:18:34Z | +action_result.data.\*.payload.repositories_removed.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | +action_result.data.\*.payload.repositories_removed.\*.size | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.ssh_url | string | | git@github.com:test/test-repo.git | +action_result.data.\*.payload.repositories_removed.\*.stargazers_count | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | +action_result.data.\*.payload.repositories_removed.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | +action_result.data.\*.payload.repositories_removed.\*.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | +action_result.data.\*.payload.repositories_removed.\*.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | +action_result.data.\*.payload.repositories_removed.\*.svn_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.repositories_removed.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | +action_result.data.\*.payload.repositories_removed.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | +action_result.data.\*.payload.repositories_removed.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | +action_result.data.\*.payload.repositories_removed.\*.updated_at | string | | 2018-05-30T20:18:44Z | +action_result.data.\*.payload.repositories_removed.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.payload.repositories_removed.\*.watchers | numeric | | 0 | +action_result.data.\*.payload.repositories_removed.\*.watchers_count | numeric | | 0 | +action_result.data.\*.payload.repository.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | +action_result.data.\*.payload.repository.archived | boolean | | True False | +action_result.data.\*.payload.repository.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | +action_result.data.\*.payload.repository.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | +action_result.data.\*.payload.repository.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | +action_result.data.\*.payload.repository.clone_url | string | `url` | https://github.com/test/test-repo.git | +action_result.data.\*.payload.repository.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | +action_result.data.\*.payload.repository.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | +action_result.data.\*.payload.repository.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | +action_result.data.\*.payload.repository.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | +action_result.data.\*.payload.repository.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | +action_result.data.\*.payload.repository.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | +action_result.data.\*.payload.repository.created_at | string | | 2018-05-30T20:18:04Z | +action_result.data.\*.payload.repository.default_branch | string | | master | +action_result.data.\*.payload.repository.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | +action_result.data.\*.payload.repository.description | string | | | +action_result.data.\*.payload.repository.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | +action_result.data.\*.payload.repository.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | +action_result.data.\*.payload.repository.fork | boolean | | True False | +action_result.data.\*.payload.repository.forks | numeric | | 0 | +action_result.data.\*.payload.repository.forks_count | numeric | | 0 | +action_result.data.\*.payload.repository.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | +action_result.data.\*.payload.repository.full_name | string | | test/test-repo | +action_result.data.\*.payload.repository.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | +action_result.data.\*.payload.repository.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | +action_result.data.\*.payload.repository.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | +action_result.data.\*.payload.repository.git_url | string | | git://github.com/test/test-repo.git | +action_result.data.\*.payload.repository.has_downloads | boolean | | True False | +action_result.data.\*.payload.repository.has_issues | boolean | | True False | +action_result.data.\*.payload.repository.has_pages | boolean | | True False | +action_result.data.\*.payload.repository.has_projects | boolean | | True False | +action_result.data.\*.payload.repository.has_wiki | boolean | | True False | +action_result.data.\*.payload.repository.homepage | string | `url` | https://test.com | +action_result.data.\*.payload.repository.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | +action_result.data.\*.payload.repository.html_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.repository.id | numeric | | 135493233 | +action_result.data.\*.payload.repository.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | +action_result.data.\*.payload.repository.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | +action_result.data.\*.payload.repository.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | +action_result.data.\*.payload.repository.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | +action_result.data.\*.payload.repository.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | +action_result.data.\*.payload.repository.language | string | | | +action_result.data.\*.payload.repository.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | +action_result.data.\*.payload.repository.license.key | string | | mit | +action_result.data.\*.payload.repository.license.name | string | | MIT License | +action_result.data.\*.payload.repository.license.node_id | string | | MDc6TGljZW5zZTEz | +action_result.data.\*.payload.repository.license.spdx_id | string | | MIT | +action_result.data.\*.payload.repository.license.url | string | `url` | https://api.github.com/licenses/mit | +action_result.data.\*.payload.repository.master_branch | string | | master | +action_result.data.\*.payload.repository.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | +action_result.data.\*.payload.repository.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | +action_result.data.\*.payload.repository.mirror_url | string | `url` | | +action_result.data.\*.payload.repository.name | string | | test-repo | +action_result.data.\*.payload.repository.node_id | string | | MDEwOlJlcG9zaXRvcnkxMzU0OTMyMzM= | +action_result.data.\*.payload.repository.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | +action_result.data.\*.payload.repository.open_issues | numeric | | 0 | +action_result.data.\*.payload.repository.open_issues_count | numeric | | 0 | +action_result.data.\*.payload.repository.owner.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29939753?v=4 | +action_result.data.\*.payload.repository.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.repository.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.repository.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.repository.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.repository.owner.gravatar_id | string | | | +action_result.data.\*.payload.repository.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.repository.owner.id | numeric | | 29939753 | +action_result.data.\*.payload.repository.owner.login | string | `github username` | test | +action_result.data.\*.payload.repository.owner.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.payload.repository.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.repository.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.repository.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.repository.owner.site_admin | boolean | | True False | +action_result.data.\*.payload.repository.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.repository.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.repository.owner.type | string | | User | +action_result.data.\*.payload.repository.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.repository.private | boolean | | True False | +action_result.data.\*.payload.repository.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | +action_result.data.\*.payload.repository.pushed_at | string | | 2018-05-30T20:18:34Z | +action_result.data.\*.payload.repository.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | +action_result.data.\*.payload.repository.size | numeric | | 0 | +action_result.data.\*.payload.repository.ssh_url | string | | git@github.com:test/test-repo.git | +action_result.data.\*.payload.repository.stargazers | numeric | | 1 | +action_result.data.\*.payload.repository.stargazers_count | numeric | | 0 | +action_result.data.\*.payload.repository.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | +action_result.data.\*.payload.repository.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | +action_result.data.\*.payload.repository.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | +action_result.data.\*.payload.repository.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | +action_result.data.\*.payload.repository.svn_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.payload.repository.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | +action_result.data.\*.payload.repository.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | +action_result.data.\*.payload.repository.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | +action_result.data.\*.payload.repository.updated_at | string | | 2018-05-30T20:18:44Z | +action_result.data.\*.payload.repository.url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.payload.repository.watchers | numeric | | 0 | +action_result.data.\*.payload.repository.watchers_count | numeric | | 0 | +action_result.data.\*.payload.repository_selection | string | | selected | +action_result.data.\*.payload.review.links.html.href | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | +action_result.data.\*.payload.review.links.pull_request.href | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | +action_result.data.\*.payload.review.author_association | string | | OWNER | +action_result.data.\*.payload.review.body | string | | | +action_result.data.\*.payload.review.commit_id | string | | 34c5c7793cb3b279e22454cb6750c80560547b3a | +action_result.data.\*.payload.review.html_url | string | `url` | https://github.com/test/test-repo/pull/1#pullrequestreview-124575911 | +action_result.data.\*.payload.review.id | numeric | | 124575911 | +action_result.data.\*.payload.review.node_id | string | | MDE3OlB1bGxSZXF1ZXN0UmV2aWV3MTI0NTc1OTEx | +action_result.data.\*.payload.review.pull_request_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls/1 | +action_result.data.\*.payload.review.state | string | | commented | +action_result.data.\*.payload.review.submitted_at | string | | 2018-05-30T20:18:31Z | +action_result.data.\*.payload.review.user.avatar_url | string | `url` | https://avatars1.githubusercontent.com/u/1032411?v=4 | +action_result.data.\*.payload.review.user.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.review.user.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.review.user.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.review.user.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.review.user.gravatar_id | string | | | +action_result.data.\*.payload.review.user.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.review.user.id | numeric | | 1032411 | +action_result.data.\*.payload.review.user.login | string | `github username` | test | +action_result.data.\*.payload.review.user.node_id | string | | MDQ6VXNlcjEwMzI0MTE= | +action_result.data.\*.payload.review.user.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.review.user.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.review.user.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.review.user.site_admin | boolean | | True False | +action_result.data.\*.payload.review.user.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.review.user.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.review.user.type | string | | User | +action_result.data.\*.payload.review.user.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.sender.avatar_url | string | `url` | https://avatars2.githubusercontent.com/u/39652351?v=4 | +action_result.data.\*.payload.sender.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.payload.sender.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.payload.sender.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.payload.sender.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.payload.sender.gravatar_id | string | | | +action_result.data.\*.payload.sender.html_url | string | `url` | https://github.com/test | +action_result.data.\*.payload.sender.id | numeric | | 406494157 | +action_result.data.\*.payload.sender.login | string | `github username` | test | +action_result.data.\*.payload.sender.node_id | string | | MDQ6VXNlcjM5NjUyMzUx | +action_result.data.\*.payload.sender.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.payload.sender.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.payload.sender.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.payload.sender.site_admin | boolean | | True False | +action_result.data.\*.payload.sender.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.payload.sender.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.payload.sender.type | string | | User | +action_result.data.\*.payload.sender.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.payload.size | numeric | | 2 | +action_result.data.\*.public | boolean | | True False | +action_result.data.\*.repo.id | numeric | | 141531062 | +action_result.data.\*.repo.name | string | `github repo` | test-repo | +action_result.data.\*.repo.url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.type | string | | CreateEvent | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -1608,9 +1685,9 @@ action_result.data.\*.user.url | string | `url` | https://api.github.com/users/u summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'list comments' +## action: 'list organizations' -List comments for an issue on the GitHub repository +List all organizations Type: **investigate**
Read only: **True** @@ -1619,10 +1696,7 @@ Read only: **True** PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | -**repo_name** | required | Name of the repository | string | `github repo` | -**issue_number** | required | Issue ID | numeric | `github issue id` | -**limit** | optional | Maximum number of comments to be fetched | numeric | | +**limit** | optional | Maximum number of organizations to be fetched | numeric | | #### Action Output @@ -1630,43 +1704,25 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- action_result.status | string | | success failure | action_result.message | string | | | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | | -action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.issue_number | numeric | `github issue id` | | action_result.parameter.limit | numeric | | | -action_result.data.\*.author_association | string | | OWNER | -action_result.data.\*.body | string | | I am writing a comment to this issue | -action_result.data.\*.created_at | string | | 2019-07-16T19:52:27Z | -action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/1#issuecomment-511961016 | -action_result.data.\*.id | numeric | | 511961016 | -action_result.data.\*.issue_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1 | -action_result.data.\*.node_id | string | | MDEyOklzc3VlQ29tbWVudDUxMTk2MTAxNg== | -action_result.data.\*.updated_at | string | | 2019-07-16T19:52:27Z | -action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511961016 | -action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/52245234 | -action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.user.gravatar_id | string | | | -action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.user.id | numeric | | 99999999 | -action_result.data.\*.user.login | string | `github username` | repoowner | -action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.user.site_admin | boolean | | True False | -action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.user.type | string | | User | -action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | +action_result.data.\*.id | numeric | | 41301665 | +action_result.data.\*.login | string | `github organization name` | test | +action_result.data.\*.description | string | | | +action_result.data.\*.url | string | `url` | https://api.github.com/orgs/test | +action_result.data.\*.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41301665?v=4 | +action_result.data.\*.events_url | string | `url` | https://api.github.com/orgs/test/events | +action_result.data.\*.hooks_url | string | `url` | https://api.github.com/orgs/test/hooks | +action_result.data.\*.issues_url | string | `url` | https://api.github.com/orgs/test/issues | +action_result.data.\*.members_url | string | `url` | https://api.github.com/orgs/test/members{/member} | +action_result.data.\*.node_id | string | | MDEyOk9yZ2FuaXphdGlvbjQxMzA5NjY1 | +action_result.data.\*.public_members_url | string | `url` | https://api.github.com/orgs/test/public_members{/member} | +action_result.data.\*.repos_url | string | `url` | https://api.github.com/orgs/test/repos | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'get issue' +## action: 'list repos' -Retrieve an issue for the GitHub repository +List all repos of an organization Type: **investigate**
Read only: **True** @@ -1675,9 +1731,8 @@ Read only: **True** PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | -**repo_name** | required | Name of the repository | string | `github repo` | -**issue_number** | required | Issue ID | numeric | `github issue id` | +**organization_name** | required | Organization name | string | `github organization name` | +**limit** | optional | Maximum number of repositories to be fetched | numeric | | #### Action Output @@ -1685,155 +1740,156 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- action_result.status | string | | success failure | action_result.message | string | | | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | | -action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.issue_number | numeric | `github issue id` | | -action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.assignee.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.assignee.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.assignee.gravatar_id | string | | | -action_result.data.\*.assignee.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.assignee.id | numeric | | 11890709 | -action_result.data.\*.assignee.login | string | `github username` | repoowner | -action_result.data.\*.assignee.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.assignee.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.assignee.site_admin | boolean | | True False | -action_result.data.\*.assignee.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.assignee.type | string | | User | -action_result.data.\*.assignee.url | string | `url` | https://api.github.com/users/repoowner | -action_result.data.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.assignees.\*.gravatar_id | string | | | -action_result.data.\*.assignees.\*.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.assignees.\*.id | numeric | | 11890709 | -action_result.data.\*.assignees.\*.login | string | `github username` | repoowner | -action_result.data.\*.assignees.\*.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.assignees.\*.type | string | | User | -action_result.data.\*.assignees.\*.url | string | `url` | https://api.github.com/users/repoowner | -action_result.data.\*.author_association | string | | OWNER | -action_result.data.\*.body | string | | This is the body I believe of the issue | -action_result.data.\*.closed_at | string | | | -action_result.data.\*.closed_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | -action_result.data.\*.closed_by.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | -action_result.data.\*.closed_by.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | -action_result.data.\*.closed_by.following_url | string | `url` | https://api.github.com/users/testbg11/following{/other_user} | -action_result.data.\*.closed_by.gists_url | string | `url` | https://api.github.com/users/testbg11/gists{/gist_id} | -action_result.data.\*.closed_by.gravatar_id | string | | | -action_result.data.\*.closed_by.html_url | string | `url` | https://github.com/testbg11 | -action_result.data.\*.closed_by.id | numeric | | 53362718 | -action_result.data.\*.closed_by.login | string | `github username` | testbg11 | -action_result.data.\*.closed_by.node_id | string | | MDQ6VXNlcjUzMzYyNzE4 | -action_result.data.\*.closed_by.organizations_url | string | `url` | https://api.github.com/users/testbg11/orgs | -action_result.data.\*.closed_by.received_events_url | string | `url` | https://api.github.com/users/testbg11/received_events | -action_result.data.\*.closed_by.repos_url | string | `url` | https://api.github.com/users/testbg11/repos | -action_result.data.\*.closed_by.site_admin | boolean | | True False | -action_result.data.\*.closed_by.starred_url | string | `url` | https://api.github.com/users/testbg11/starred{/owner}{/repo} | -action_result.data.\*.closed_by.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | -action_result.data.\*.closed_by.type | string | | User | -action_result.data.\*.closed_by.url | string | `url` | https://api.github.com/users/testbg11 | -action_result.data.\*.comments | numeric | | 1 | -action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/comments | -action_result.data.\*.created_at | string | | 2019-07-16T19:52:15Z | -action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/events | -action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/1 | -action_result.data.\*.id | numeric | | 468834090 | -action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1/labels{/name} | -action_result.data.\*.locked | boolean | | True False | -action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | -action_result.data.\*.milestone.closed_issues | numeric | | 879 | -action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | -action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.milestone.creator.gravatar_id | string | | | -action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.milestone.creator.id | numeric | | 73419 | -action_result.data.\*.milestone.creator.login | string | `github username` | test | -action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.milestone.creator.type | string | | User | -action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.milestone.description | string | | Sample description | -action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | -action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | -action_result.data.\*.milestone.id | numeric | | 2117464 | -action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | -action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | -action_result.data.\*.milestone.number | numeric | | 10 | -action_result.data.\*.milestone.open_issues | numeric | | 15 | -action_result.data.\*.milestone.state | string | | open | -action_result.data.\*.milestone.title | string | | 3.4 | -action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | -action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | -action_result.data.\*.node_id | string | | MDU6SXNzdWU0Njg4MzQwOTA= | -action_result.data.\*.number | numeric | `github issue id` | 1 | -action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI | -action_result.data.\*.state | string | | open | -action_result.data.\*.title | string | | This is a Test Issue | -action_result.data.\*.updated_at | string | | 2019-07-16T20:00:23Z | -action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/1 | -action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.user.gravatar_id | string | | | -action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.user.id | numeric | | 11890709 | -action_result.data.\*.user.login | string | `github username` | repoowner | -action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.user.site_admin | boolean | | True False | -action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.user.type | string | | User | -action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | +action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.limit | numeric | | | +action_result.data.\*.id | numeric | | 141304012 | +action_result.data.\*.full_name | string | | test/test-repo | +action_result.data.\*.description | string | | Test Repo 1 | +action_result.data.\*.repo_owner | string | `github username` | test | +action_result.data.\*.created_at | string | | 2018-07-16T23:05:00Z | +action_result.data.\*.updated_at | string | | 2018-07-16T23:03:00Z | +action_result.data.\*.private | boolean | | True False | +action_result.data.\*.archive_url | string | `url` | https://api.github.com/repos/test/test-repo/{archive_format}{/ref} | +action_result.data.\*.archived | boolean | | True False | +action_result.data.\*.assignees_url | string | `url` | https://api.github.com/repos/test/test-repo/assignees{/user} | +action_result.data.\*.blobs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/blobs{/sha} | +action_result.data.\*.branches_url | string | `url` | https://api.github.com/repos/test/test-repo/branches{/branch} | +action_result.data.\*.clone_url | string | `url` | https://github.com/test/test-repo.git | +action_result.data.\*.collaborators_url | string | `url` | https://api.github.com/repos/test/test-repo/collaborators{/collaborator} | +action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/test/test-repo/comments{/number} | +action_result.data.\*.commits_url | string | `url` | https://api.github.com/repos/test/test-repo/commits{/sha} | +action_result.data.\*.compare_url | string | `url` | https://api.github.com/repos/test/test-repo/compare/{base}...{head} | +action_result.data.\*.contents_url | string | `url` | https://api.github.com/repos/test/test-repo/contents/{+path} | +action_result.data.\*.contributors_url | string | `url` | https://api.github.com/repos/test/test-repo/contributors | +action_result.data.\*.default_branch | string | | master | +action_result.data.\*.deployments_url | string | `url` | https://api.github.com/repos/test/test-repo/deployments | +action_result.data.\*.downloads_url | string | `url` | https://api.github.com/repos/test/test-repo/downloads | +action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/test/test-repo/events | +action_result.data.\*.fork | boolean | | True False | +action_result.data.\*.forks | numeric | | 0 | +action_result.data.\*.forks_count | numeric | | 0 | +action_result.data.\*.forks_url | string | `url` | https://api.github.com/repos/test/test-repo/forks | +action_result.data.\*.git_commits_url | string | `url` | https://api.github.com/repos/test/test-repo/git/commits{/sha} | +action_result.data.\*.git_refs_url | string | `url` | https://api.github.com/repos/test/test-repo/git/refs{/sha} | +action_result.data.\*.git_tags_url | string | `url` | https://api.github.com/repos/test/test-repo/git/tags{/sha} | +action_result.data.\*.git_url | string | | git://github.com/test/test-repo.git | +action_result.data.\*.has_downloads | boolean | | True False | +action_result.data.\*.has_issues | boolean | | True False | +action_result.data.\*.has_pages | boolean | | True False | +action_result.data.\*.has_projects | boolean | | True False | +action_result.data.\*.has_wiki | boolean | | True False | +action_result.data.\*.homepage | string | `url` | | +action_result.data.\*.hooks_url | string | `url` | https://api.github.com/repos/test/test-repo/hooks | +action_result.data.\*.html_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.issue_comment_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/comments{/number} | +action_result.data.\*.issue_events_url | string | `url` | https://api.github.com/repos/test/test-repo/issues/events{/number} | +action_result.data.\*.issues_url | string | `url` | https://api.github.com/repos/test/test-repo/issues{/number} | +action_result.data.\*.keys_url | string | `url` | https://api.github.com/repos/test/test-repo/keys{/key_id} | +action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/test/test-repo/labels{/name} | +action_result.data.\*.language | string | | | +action_result.data.\*.languages_url | string | `url` | https://api.github.com/repos/test/test-repo/languages | +action_result.data.\*.license.key | string | | apache-2.0 | +action_result.data.\*.license.name | string | | Apache License 2.0 | +action_result.data.\*.license.node_id | string | | MDc6TGljZW5zZIT= | +action_result.data.\*.license.spdx_id | string | | Apache-2.0 | +action_result.data.\*.license.url | string | `url` | https://api.github.com/licenses/apache-2.0 | +action_result.data.\*.merges_url | string | `url` | https://api.github.com/repos/test/test-repo/merges | +action_result.data.\*.milestones_url | string | `url` | https://api.github.com/repos/test/test-repo/milestones{/number} | +action_result.data.\*.mirror_url | string | `url` | | +action_result.data.\*.name | string | | test-repo | +action_result.data.\*.node_id | string | | MDEwOlJlcG9zaXRvnckxNDEyMDQwMDA= | +action_result.data.\*.notifications_url | string | `url` | https://api.github.com/repos/test/test-repo/notifications{?since,all,participating} | +action_result.data.\*.open_issues | numeric | | 0 | +action_result.data.\*.open_issues_count | numeric | | 0 | +action_result.data.\*.owner.avatar_url | string | `url` | https://avatars0.githubusercontent.com/u/41409665?v=4 | +action_result.data.\*.owner.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.owner.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.owner.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.owner.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.owner.gravatar_id | string | | | +action_result.data.\*.owner.html_url | string | `url` | https://github.com/test | +action_result.data.\*.owner.id | numeric | | 41309165 | +action_result.data.\*.owner.login | string | `github username` | test | +action_result.data.\*.owner.node_id | string | | MDEyOk9yZ2FuaX1hdGl1bjQxMzA5NjY1 | +action_result.data.\*.owner.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.owner.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.owner.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.owner.site_admin | boolean | | True False | +action_result.data.\*.owner.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.owner.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.owner.type | string | | Organization | +action_result.data.\*.owner.url | string | `url` | https://api.github.com/users/test | +action_result.data.\*.permissions.admin | boolean | | True False | +action_result.data.\*.permissions.pull | boolean | | True False | +action_result.data.\*.permissions.push | boolean | | True False | +action_result.data.\*.pulls_url | string | `url` | https://api.github.com/repos/test/test-repo/pulls{/number} | +action_result.data.\*.pushed_at | string | | 2018-07-16T23:03:58Z | +action_result.data.\*.releases_url | string | `url` | https://api.github.com/repos/test/test-repo/releases{/id} | +action_result.data.\*.size | numeric | | 0 | +action_result.data.\*.ssh_url | string | | git@github.com:test/test-repo.git | +action_result.data.\*.stargazers_count | numeric | | 0 | +action_result.data.\*.stargazers_url | string | `url` | https://api.github.com/repos/test/test-repo/stargazers | +action_result.data.\*.statuses_url | string | `url` | https://api.github.com/repos/test/test-repo/statuses/{sha} | +action_result.data.\*.subscribers_url | string | `url` | https://api.github.com/repos/test/test-repo/subscribers | +action_result.data.\*.subscription_url | string | `url` | https://api.github.com/repos/test/test-repo/subscription | +action_result.data.\*.svn_url | string | `url` | https://github.com/test/test-repo | +action_result.data.\*.tags_url | string | `url` | https://api.github.com/repos/test/test-repo/tags | +action_result.data.\*.teams_url | string | `url` | https://api.github.com/repos/test/test-repo/teams | +action_result.data.\*.trees_url | string | `url` | https://api.github.com/repos/test/test-repo/git/trees{/sha} | +action_result.data.\*.url | string | `url` | https://api.github.com/repos/test/test-repo | +action_result.data.\*.watchers | numeric | | 0 | +action_result.data.\*.watchers_count | numeric | | 0 | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'create issue' +## action: 'list teams' -Create an issue for the GitHub repository +List all teams of an organization -Type: **generic**
-Read only: **False** +Type: **investigate**
+Read only: **True** -Only users with push access can set assignees/labels for the issues. -Assignees/labels are silently dropped otherwise. +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**organization_name** | required | Organization name | string | `github organization name` | +**limit** | optional | Maximum number of teams to be fetched | numeric | | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.limit | numeric | | | +action_result.data.\*.id | numeric | `github team id` | 2825460 | +action_result.data.\*.name | string | `github team name` | new team | +action_result.data.\*.description | string | | New team | +action_result.data.\*.privacy | string | | closed | +action_result.data.\*.permission | string | | pull | +action_result.data.\*.members_url | string | `url` | https://api.github.com/teams/2825460/members{/member} | +action_result.data.\*.node_id | string | | MDQ6VGVhbTI4JmcyNjA= | +action_result.data.\*.repositories_url | string | `url` | https://api.github.com/teams/2825460/repos | +action_result.data.\*.slug | string | | new-team | +action_result.data.\*.url | string | `url` | https://api.github.com/teams/2825460 | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'list users' + +List users of an organization + +Type: **investigate**
+Read only: **True** #### Action Parameters PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS --------- | -------- | ----------- | ---- | -------- -**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | -**repo_name** | required | Name of the repository | string | `github repo` | -**issue_title** | required | Title of the issue | string | | -**issue_body** | optional | Contents of the issue | string | | -**assignees** | optional | Comma-separated list of logins (usernames) for the users to assign to this issue | string | `github username` | -**labels** | optional | Comma-separated list of labels to associate with this issue | string | | +**organization_name** | required | Organization name | string | `github organization name` | +**limit** | optional | Maximum number of users to be fetched | numeric | | #### Action Output @@ -1841,141 +1897,129 @@ DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES --------- | ---- | -------- | -------------- action_result.status | string | | success failure | action_result.message | string | | | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | | -action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.issue_title | string | | | -action_result.parameter.issue_body | string | | | -action_result.parameter.assignees | string | `github username` | | -action_result.parameter.labels | string | | | -action_result.data.\*.assignee.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.assignee.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.assignee.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.assignee.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.assignee.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.assignee.gravatar_id | string | | | -action_result.data.\*.assignee.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.assignee.id | numeric | | 11890709 | -action_result.data.\*.assignee.login | string | `github username` | repoowner | -action_result.data.\*.assignee.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.assignee.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.assignee.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.assignee.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.assignee.site_admin | boolean | | True False | -action_result.data.\*.assignee.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.assignee.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.assignee.type | string | | User | -action_result.data.\*.assignee.url | string | `url` | https://api.github.com/users/repoowner | -action_result.data.\*.assignees.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.assignees.\*.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.assignees.\*.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.assignees.\*.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.assignees.\*.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.assignees.\*.gravatar_id | string | | | -action_result.data.\*.assignees.\*.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.assignees.\*.id | numeric | | 11890709 | -action_result.data.\*.assignees.\*.login | string | `github username` | repoowner | -action_result.data.\*.assignees.\*.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.assignees.\*.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.assignees.\*.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.assignees.\*.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.assignees.\*.site_admin | boolean | | True False | -action_result.data.\*.assignees.\*.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.assignees.\*.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.assignees.\*.type | string | | User | -action_result.data.\*.assignees.\*.url | string | `url` | https://api.github.com/users/repoowner | -action_result.data.\*.author_association | string | | OWNER | -action_result.data.\*.body | string | | This is what the body looks like when testing from the app | -action_result.data.\*.closed_at | string | | | -action_result.data.\*.closed_by.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/53362718?v=4 | -action_result.data.\*.closed_by.events_url | string | `url` | https://api.github.com/users/testbg11/events{/privacy} | -action_result.data.\*.closed_by.followers_url | string | `url` | https://api.github.com/users/testbg11/followers | -action_result.data.\*.closed_by.following_url | string | `url` | https://api.github.com/users/testbg11/following{/other_user} | -action_result.data.\*.closed_by.gists_url | string | `url` | https://api.github.com/users/testbg11/gists{/gist_id} | -action_result.data.\*.closed_by.gravatar_id | string | | | -action_result.data.\*.closed_by.html_url | string | `url` | https://github.com/testbg11 | -action_result.data.\*.closed_by.id | numeric | | 53362718 | -action_result.data.\*.closed_by.login | string | `github username` | testbg11 | -action_result.data.\*.closed_by.node_id | string | | MDQ6VXNlcjUzMzYyNzE4 | -action_result.data.\*.closed_by.organizations_url | string | `url` | https://api.github.com/users/testbg11/orgs | -action_result.data.\*.closed_by.received_events_url | string | `url` | https://api.github.com/users/testbg11/received_events | -action_result.data.\*.closed_by.repos_url | string | `url` | https://api.github.com/users/testbg11/repos | -action_result.data.\*.closed_by.site_admin | boolean | | True False | -action_result.data.\*.closed_by.starred_url | string | `url` | https://api.github.com/users/testbg11/starred{/owner}{/repo} | -action_result.data.\*.closed_by.subscriptions_url | string | `url` | https://api.github.com/users/testbg11/subscriptions | -action_result.data.\*.closed_by.type | string | | User | -action_result.data.\*.closed_by.url | string | `url` | https://api.github.com/users/testbg11 | -action_result.data.\*.comments | numeric | | 0 | -action_result.data.\*.comments_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/comments | -action_result.data.\*.created_at | string | | 2019-07-16T20:07:26Z | -action_result.data.\*.events_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/events | -action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2 | -action_result.data.\*.id | numeric | | 468840014 | -action_result.data.\*.labels.\*.color | string | | ededed | -action_result.data.\*.labels.\*.default | boolean | | True False | -action_result.data.\*.labels.\*.id | numeric | | 1454469929 | -action_result.data.\*.labels.\*.name | string | | test | -action_result.data.\*.labels.\*.node_id | string | | MDU6TGFiZWwxNDU0NDY5OTI5 | -action_result.data.\*.labels.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/labels/test | -action_result.data.\*.labels_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2/labels{/name} | -action_result.data.\*.locked | boolean | | True False | -action_result.data.\*.milestone.closed_at | string | | 2018-07-20T11:26:15Z | -action_result.data.\*.milestone.closed_issues | numeric | | 879 | -action_result.data.\*.milestone.created_at | string | | 2016-11-06T20:24:23Z | -action_result.data.\*.milestone.creator.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/73419?v=4 | -action_result.data.\*.milestone.creator.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | -action_result.data.\*.milestone.creator.followers_url | string | `url` | https://api.github.com/users/test/followers | -action_result.data.\*.milestone.creator.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | -action_result.data.\*.milestone.creator.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | -action_result.data.\*.milestone.creator.gravatar_id | string | | | -action_result.data.\*.milestone.creator.html_url | string | `url` | https://github.com/test | -action_result.data.\*.milestone.creator.id | numeric | | 73419 | -action_result.data.\*.milestone.creator.login | string | `github username` | test | -action_result.data.\*.milestone.creator.node_id | string | | MDQ6VXNlcjczNDE5 | -action_result.data.\*.milestone.creator.organizations_url | string | `url` | https://api.github.com/users/test/orgs | -action_result.data.\*.milestone.creator.received_events_url | string | `url` | https://api.github.com/users/test/received_events | -action_result.data.\*.milestone.creator.repos_url | string | `url` | https://api.github.com/users/test/repos | -action_result.data.\*.milestone.creator.site_admin | boolean | | True False | -action_result.data.\*.milestone.creator.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | -action_result.data.\*.milestone.creator.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | -action_result.data.\*.milestone.creator.type | string | | User | -action_result.data.\*.milestone.creator.url | string | `url` | https://api.github.com/users/test | -action_result.data.\*.milestone.description | string | | Sample description | -action_result.data.\*.milestone.due_on | string | | 2020-11-30T08:00:00Z | -action_result.data.\*.milestone.html_url | string | `url` | https://github.com/test/test/milestone/10 | -action_result.data.\*.milestone.id | numeric | | 2117464 | -action_result.data.\*.milestone.labels_url | string | `url` | https://api.github.com/repos/test/test/milestones/10/labels | -action_result.data.\*.milestone.node_id | string | | MDk6TWlsZXN0b25lMjExNzQ2NA== | -action_result.data.\*.milestone.number | numeric | | 10 | -action_result.data.\*.milestone.open_issues | numeric | | 15 | -action_result.data.\*.milestone.state | string | | open | -action_result.data.\*.milestone.title | string | | 3.4 | -action_result.data.\*.milestone.updated_at | string | | 2018-07-19T07:12:02Z | -action_result.data.\*.milestone.url | string | `url` | https://api.github.com/repos/test/test/milestones/10 | -action_result.data.\*.node_id | string | | MDU6SXNzdWU0Njg4NDAwMTQ= | -action_result.data.\*.number | numeric | `github issue id` | 2 | -action_result.data.\*.repository_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI | -action_result.data.\*.state | string | | open | -action_result.data.\*.title | string | | I am testing from the app | -action_result.data.\*.updated_at | string | | 2019-07-16T20:07:27Z | -action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2 | -action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.user.gravatar_id | string | | | -action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.user.id | numeric | | 11890709 | -action_result.data.\*.user.login | string | `github username` | repoowner | -action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.user.site_admin | boolean | | True False | -action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.user.type | string | | User | -action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | +action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.limit | numeric | | | +action_result.data.\*.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/29919753?v=4 | +action_result.data.\*.events_url | string | `url` | https://api.github.com/users/test/events{/privacy} | +action_result.data.\*.followers_url | string | `url` | https://api.github.com/users/test/followers | +action_result.data.\*.following_url | string | `url` | https://api.github.com/users/test/following{/other_user} | +action_result.data.\*.gists_url | string | `url` | https://api.github.com/users/test/gists{/gist_id} | +action_result.data.\*.gravatar_id | string | | | +action_result.data.\*.html_url | string | `url` | https://github.com/test | +action_result.data.\*.id | numeric | | 29939753 | +action_result.data.\*.login | string | `github username` | test | +action_result.data.\*.node_id | string | | MDQ6VXNlcjI5OTM5NzUz | +action_result.data.\*.organizations_url | string | `url` | https://api.github.com/users/test/orgs | +action_result.data.\*.received_events_url | string | `url` | https://api.github.com/users/test/received_events | +action_result.data.\*.repos_url | string | `url` | https://api.github.com/users/test/repos | +action_result.data.\*.site_admin | boolean | | True False | +action_result.data.\*.starred_url | string | `url` | https://api.github.com/users/test/starred{/owner}{/repo} | +action_result.data.\*.subscriptions_url | string | `url` | https://api.github.com/users/test/subscriptions | +action_result.data.\*.type | string | | User | +action_result.data.\*.url | string | `url` | https://api.github.com/users/test | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'make request' + +Execute an arbitrary HTTP request against the GitHub API. + +Handles all three authentication modes configured on the asset: +username/password basic auth, personal access token, and OAuth Bearer token. +The endpoint is appended to https://api.github.com — do not include the base URL. + +Type: **generic**
+Read only: **False** + +'make request' action for the app. Used to handle arbitrary HTTP requests with the app's asset + +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**http_method** | required | The HTTP method to use for the request. | string | | +**endpoint** | required | GitHub API endpoint path appended to https://api.github.com. Do not include the base URL. Examples: '/user', '/repos/owner/name/issues', '/orgs/my-org/teams', '/repos/owner/name/issues/1/labels'. | string | | +**headers** | optional | The headers to send with the request (JSON object). An example is {'Content-Type': 'application/json'} | string | | +**query_parameters** | optional | Parameters to append to the URL (JSON object or query string). An example is ?key=value&key2=value2 | string | | +**body** | optional | The body to send with the request (JSON object). An example is {'key': 'value', 'key2': 'value2'} | string | | +**timeout** | optional | The timeout for the request in seconds. | numeric | | +**verify_ssl** | optional | Whether to verify the SSL certificate. Default is False. | boolean | | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.http_method | string | | | +action_result.parameter.endpoint | string | | | +action_result.parameter.headers | string | | | +action_result.parameter.query_parameters | string | | | +action_result.parameter.body | string | | | +action_result.parameter.timeout | numeric | | | +action_result.parameter.verify_ssl | boolean | | | +action_result.data.\*.status_code | numeric | | 200 404 500 | +action_result.data.\*.response_body | string | | {"key": "value"} | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'remove collaborator' + +Remove user as a collaborator from the repo + +Type: **generic**
+Read only: **False** + +If the user is not a direct collaborator to the repo, any pending invitations to the user will also be deleted. + +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | +**repo_name** | required | Name of the repository | string | `github repo` | +**user** | required | Username | string | `github username` | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.repo_owner | string | `github repo owner` `github username` | | +action_result.parameter.repo_name | string | `github repo` | | +action_result.parameter.user | string | `github username` | | +action_result.data.\*.invite_deleted | boolean | | True False | +summary.total_objects | numeric | | 1 | +summary.total_objects_successful | numeric | | 1 | + +## action: 'remove member' + +Remove user from the team + +Type: **generic**
+Read only: **False** + +Parameter 'organization name' is mandatory if the team name is provided instead of team ID. + +#### Action Parameters + +PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS +--------- | -------- | ----------- | ---- | -------- +**organization_name** | optional | Organization name | string | `github organization name` | +**team** | required | Team name or team ID | string | `github team name` `github team id` | +**user** | required | Username | string | `github username` | + +#### Action Output + +DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES +--------- | ---- | -------- | -------------- +action_result.status | string | | success failure | +action_result.message | string | | | +action_result.parameter.organization_name | string | `github organization name` | | +action_result.parameter.team | string | `github team name` `github team id` | | +action_result.parameter.user | string | `github username` | | +action_result.data.\*.status | string | | success failed | summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | @@ -2150,142 +2194,6 @@ action_result.data.\*.user.url | string | `url` | https://api.github.com/users/t summary.total_objects | numeric | | 1 | summary.total_objects_successful | numeric | | 1 | -## action: 'create comment' - -Create a comment for an issue on the GitHub repository - -Type: **generic**
-Read only: **False** - -#### Action Parameters - -PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS ---------- | -------- | ----------- | ---- | -------- -**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | -**repo_name** | required | Name of the repository | string | `github repo` | -**issue_number** | required | Issue ID | numeric | `github issue id` | -**comment_body** | required | Contents of a comment to add to the issue | string | | - -#### Action Output - -DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES ---------- | ---- | -------- | -------------- -action_result.status | string | | success failure | -action_result.message | string | | | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | | -action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.issue_number | numeric | `github issue id` | | -action_result.parameter.comment_body | string | | | -action_result.data.\*.author_association | string | | OWNER | -action_result.data.\*.body | string | | I am adding a comment from the app | -action_result.data.\*.created_at | string | | 2019-07-16T20:11:38Z | -action_result.data.\*.html_url | string | `url` | https://github.com/repoowner/TestingAPI/issues/2#issuecomment-511967194 | -action_result.data.\*.id | numeric | | 511967194 | -action_result.data.\*.issue_url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/2 | -action_result.data.\*.node_id | string | | MDEyOklzc3VlQ29tbWVudDUxMTk2NzE5NA== | -action_result.data.\*.updated_at | string | | 2019-07-16T20:11:38Z | -action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/issues/comments/511967194 | -action_result.data.\*.user.avatar_url | string | `url` | https://avatars3.githubusercontent.com/u/11890709?v=4 | -action_result.data.\*.user.events_url | string | `url` | https://api.github.com/users/repoowner/events{/privacy} | -action_result.data.\*.user.followers_url | string | `url` | https://api.github.com/users/repoowner/followers | -action_result.data.\*.user.following_url | string | `url` | https://api.github.com/users/repoowner/following{/other_user} | -action_result.data.\*.user.gists_url | string | `url` | https://api.github.com/users/repoowner/gists{/gist_id} | -action_result.data.\*.user.gravatar_id | string | | | -action_result.data.\*.user.html_url | string | `url` | https://github.com/repoowner | -action_result.data.\*.user.id | numeric | | 11890709 | -action_result.data.\*.user.login | string | `github username` | repoowner | -action_result.data.\*.user.node_id | string | | MDQ6VXNlcjExODkwNzA5 | -action_result.data.\*.user.organizations_url | string | `url` | https://api.github.com/users/repoowner/orgs | -action_result.data.\*.user.received_events_url | string | `url` | https://api.github.com/users/repoowner/received_events | -action_result.data.\*.user.repos_url | string | `url` | https://api.github.com/users/repoowner/repos | -action_result.data.\*.user.site_admin | boolean | | True False | -action_result.data.\*.user.starred_url | string | `url` | https://api.github.com/users/repoowner/starred{/owner}{/repo} | -action_result.data.\*.user.subscriptions_url | string | `url` | https://api.github.com/users/repoowner/subscriptions | -action_result.data.\*.user.type | string | | User | -action_result.data.\*.user.url | string | `url` | https://api.github.com/users/repoowner | -summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 1 | - -## action: 'add labels' - -Add label(s) to an issue on the GitHub repository - -Type: **generic**
-Read only: **False** - -Only users with push access can set labels for the issues. - -#### Action Parameters - -PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS ---------- | -------- | ----------- | ---- | -------- -**repo_owner** | required | Owner of the repository | string | `github repo owner` `github username` | -**repo_name** | required | Name of the repository | string | `github repo` | -**issue_number** | required | Issue ID | numeric | `github issue id` | -**labels** | required | Comma-separated list of labels to add to the issue | string | | - -#### Action Output - -DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES ---------- | ---- | -------- | -------------- -action_result.status | string | | success failure | -action_result.message | string | | | -action_result.parameter.repo_owner | string | `github repo owner` `github username` | | -action_result.parameter.repo_name | string | `github repo` | | -action_result.parameter.issue_number | numeric | `github issue id` | | -action_result.parameter.labels | string | | | -action_result.data.\*.color | string | | ededed | -action_result.data.\*.default | boolean | | True False | -action_result.data.\*.id | numeric | | 1454479580 | -action_result.data.\*.name | string | | app-testing | -action_result.data.\*.node_id | string | | MDU6TGFiZWwxNDU0NDc5NTgw | -action_result.data.\*.url | string | `url` | https://api.github.com/repos/repoowner/TestingAPI/labels/app-testing | -summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 1 | - -## action: 'make request' - -Execute an arbitrary HTTP request against the GitHub API. - -Handles all three authentication modes configured on the asset: -username/password basic auth, personal access token, and OAuth Bearer token. -The endpoint is appended to https://api.github.com — do not include the base URL. - -Type: **generic**
-Read only: **False** - -'make request' action for the app. Used to handle arbitrary HTTP requests with the app's asset - -#### Action Parameters - -PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS ---------- | -------- | ----------- | ---- | -------- -**http_method** | required | The HTTP method to use for the request. | string | | -**endpoint** | required | GitHub API endpoint path appended to https://api.github.com. Do not include the base URL. Examples: '/user', '/repos/owner/name/issues', '/orgs/my-org/teams', '/repos/owner/name/issues/1/labels'. | string | | -**headers** | optional | The headers to send with the request (JSON object). An example is {'Content-Type': 'application/json'} | string | | -**query_parameters** | optional | Parameters to append to the URL (JSON object or query string). An example is ?key=value&key2=value2 | string | | -**body** | optional | The body to send with the request (JSON object). An example is {'key': 'value', 'key2': 'value2'} | string | | -**timeout** | optional | The timeout for the request in seconds. | numeric | | -**verify_ssl** | optional | Whether to verify the SSL certificate. Default is False. | boolean | | - -#### Action Output - -DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES ---------- | ---- | -------- | -------------- -action_result.status | string | | success failure | -action_result.message | string | | | -action_result.parameter.http_method | string | | | -action_result.parameter.endpoint | string | | | -action_result.parameter.headers | string | | | -action_result.parameter.query_parameters | string | | | -action_result.parameter.body | string | | | -action_result.parameter.timeout | numeric | | | -action_result.parameter.verify_ssl | boolean | | | -action_result.data.\*.status_code | numeric | | 200 404 500 | -action_result.data.\*.response_body | string | | {"key": "value"} | -summary.total_objects | numeric | | 1 | -summary.total_objects_successful | numeric | | 1 | - ______________________________________________________________________ Auto-generated Splunk SOAR Connector documentation. diff --git a/src/actions/add_collaborator.py b/src/actions/add_collaborator.py index 7c022de..7ca8e6f 100644 --- a/src/actions/add_collaborator.py +++ b/src/actions/add_collaborator.py @@ -50,6 +50,7 @@ logger = getLogger() + class AddCollaboratorParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -333,4 +334,3 @@ def add_collaborator( ) ) return AddCollaboratorOutput(invite_sent=False, collaborator_added=True) - diff --git a/src/actions/add_labels.py b/src/actions/add_labels.py index f2ef058..2355309 100644 --- a/src/actions/add_labels.py +++ b/src/actions/add_labels.py @@ -28,6 +28,7 @@ logger = getLogger() + class AddLabelsParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -87,4 +88,3 @@ def add_labels( ) ) return [AddLabelsOutput(**label) for label in response.json()] - diff --git a/src/actions/add_member.py b/src/actions/add_member.py index 2928d8e..6c34e4a 100644 --- a/src/actions/add_member.py +++ b/src/actions/add_member.py @@ -34,6 +34,7 @@ logger = getLogger() + class AddMemberParams(Params): organization_name: str | None = Param( description="Organization name", @@ -125,4 +126,3 @@ def add_member( ) ) return AddMemberOutput(**data, status="success") - diff --git a/src/actions/create_comment.py b/src/actions/create_comment.py index 48758cc..c09c834 100644 --- a/src/actions/create_comment.py +++ b/src/actions/create_comment.py @@ -27,6 +27,7 @@ logger = getLogger() + class CreateCommentParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -167,4 +168,3 @@ def create_comment( ) ) return CreateCommentOutput(**data) - diff --git a/src/actions/create_issue.py b/src/actions/create_issue.py index 601ae3d..4d47c50 100644 --- a/src/actions/create_issue.py +++ b/src/actions/create_issue.py @@ -28,6 +28,7 @@ logger = getLogger() + class CreatorOutput(ActionOutput): avatar_url: str = OutputField( cef_types=["url"], @@ -165,6 +166,7 @@ class ClosedByOutput(ActionOutput): cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] ) + class CreateIssueParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -483,4 +485,3 @@ def create_issue( ) ) return CreateIssueOutput(**data) - diff --git a/src/actions/get_issue.py b/src/actions/get_issue.py index 38133ec..fab4711 100644 --- a/src/actions/get_issue.py +++ b/src/actions/get_issue.py @@ -26,6 +26,7 @@ logger = getLogger() + class CreatorOutput(ActionOutput): avatar_url: str = OutputField( cef_types=["url"], @@ -444,4 +445,3 @@ def get_issue(params: GetIssueParams, soar: SOARClient, asset: Asset) -> GetIssu GetIssueSummary(issue_number=data.get("number"), issue_url=data.get("html_url")) ) return GetIssueOutput(**data) - diff --git a/src/actions/list_comments.py b/src/actions/list_comments.py index 06fcbad..1db3fb0 100644 --- a/src/actions/list_comments.py +++ b/src/actions/list_comments.py @@ -26,6 +26,7 @@ logger = getLogger() + class ListCommentsParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -160,4 +161,3 @@ def list_comments( ] soar.set_summary(ListCommentsSummary(total_comments=len(output))) return output - diff --git a/src/actions/list_events.py b/src/actions/list_events.py index e33f483..a96e9d9 100644 --- a/src/actions/list_events.py +++ b/src/actions/list_events.py @@ -28,6 +28,7 @@ logger = getLogger() + class ListEventsParams(Params): username: str = Param( description="Username", primary=True, cef_types=["github username"] @@ -2509,5 +2510,6 @@ def list_events( soar.set_summary(ListEventsSummary(total_events=len(output))) return output + RepositoryOutput.model_rebuild() LinksOutput.model_rebuild() diff --git a/src/actions/list_issues.py b/src/actions/list_issues.py index abbc675..d7b7dd3 100644 --- a/src/actions/list_issues.py +++ b/src/actions/list_issues.py @@ -27,6 +27,7 @@ logger = getLogger() + class CreatorOutput(ActionOutput): avatar_url: str = OutputField( cef_types=["url"], @@ -370,4 +371,3 @@ def list_issues( ] soar.set_summary(ListIssuesSummary(total_issues=len(output))) return output - diff --git a/src/actions/list_organizations.py b/src/actions/list_organizations.py index a0dcc0d..e3a201e 100644 --- a/src/actions/list_organizations.py +++ b/src/actions/list_organizations.py @@ -27,6 +27,7 @@ logger = getLogger() + class ListOrganizationsParams(Params): limit: float | None = Param( description="Maximum number of organizations to be fetched" @@ -98,4 +99,3 @@ def list_organizations( ] soar.set_summary(ListOrganizationsSummary(total_organizations=len(output))) return output - diff --git a/src/actions/list_repos.py b/src/actions/list_repos.py index f585e16..2f3b001 100644 --- a/src/actions/list_repos.py +++ b/src/actions/list_repos.py @@ -28,6 +28,7 @@ logger = getLogger() + class ListReposParams(Params): organization_name: str = Param( description="Organization name", diff --git a/src/actions/list_teams.py b/src/actions/list_teams.py index 5218699..cff19c1 100644 --- a/src/actions/list_teams.py +++ b/src/actions/list_teams.py @@ -27,6 +27,7 @@ logger = getLogger() + class ListTeamsParams(Params): organization_name: str = Param( description="Organization name", @@ -86,4 +87,3 @@ def list_teams( output = [ListTeamsOutput(**t) for t in _paginate_all(endpoint, asset, limit=limit)] soar.set_summary(ListTeamsSummary(total_teams=len(output))) return output - diff --git a/src/actions/list_users.py b/src/actions/list_users.py index 09cb4b6..10d568e 100644 --- a/src/actions/list_users.py +++ b/src/actions/list_users.py @@ -26,6 +26,7 @@ logger = getLogger() + class ListUsersParams(Params): organization_name: str = Param( description="Organization name", diff --git a/src/actions/remove_collaborator.py b/src/actions/remove_collaborator.py index 605c0c3..52ebb63 100644 --- a/src/actions/remove_collaborator.py +++ b/src/actions/remove_collaborator.py @@ -38,6 +38,7 @@ logger = getLogger() + class RemoveCollaboratorParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -128,4 +129,3 @@ def remove_collaborator( GITHUB_COLLABORATOR_REMOVED_MSG.format(repo_full_name=repo, user_name=user) ) return RemoveCollaboratorOutput(invite_deleted=invite_deleted) - diff --git a/src/actions/remove_member.py b/src/actions/remove_member.py index 7b08461..6ee614e 100644 --- a/src/actions/remove_member.py +++ b/src/actions/remove_member.py @@ -33,6 +33,7 @@ logger = getLogger() + class RemoveMemberParams(Params): organization_name: str | None = Param( description="Organization name", @@ -116,4 +117,3 @@ def remove_member( GITHUB_USER_NOT_TEAM_MEMBER_MSG.format(team=params.team, user_name=params.user) ) return RemoveMemberOutput(status="success") - diff --git a/src/actions/update_issue.py b/src/actions/update_issue.py index c930c7b..78341a2 100644 --- a/src/actions/update_issue.py +++ b/src/actions/update_issue.py @@ -28,6 +28,7 @@ logger = getLogger() + class CreatorOutput(ActionOutput): avatar_url: str = OutputField( cef_types=["url"], @@ -165,6 +166,7 @@ class ClosedByOutput(ActionOutput): cef_types=["url"], example_values=["https://api.github.com/users/testbg11"] ) + class UpdateIssueParams(Params): repo_owner: str = Param( description="Owner of the repository", @@ -488,4 +490,3 @@ def update_issue( ) ) return UpdateIssueOutput(**data) - diff --git a/src/app.py b/src/app.py index 5bac468..015fa2a 100644 --- a/src/app.py +++ b/src/app.py @@ -69,32 +69,11 @@ def test_connectivity(soar: SOARClient, asset: Asset) -> None: "HTTP 401 — check your Personal Access Token." ) # _check_response is re-exported at module level below; safe to call after full load - from .actions._helpers import _check_response # noqa: PLC0415 _check_response(response) -# Import action modules — registers all @app.action() handlers as a side-effect -from .actions import ( # noqa: F401, E402 - _helpers, - add_collaborator, - add_labels, - add_member, - create_comment, - create_issue, - get_issue, - list_comments, - list_events, - list_issues, - list_organizations, - list_repos, - list_teams, - list_users, - make_req, - remove_collaborator, - remove_member, - update_issue, -) - +# Import action modules — registers all @app.action() handlers as a side-effect. +# The explicit per-symbol imports below also cover this; no separate module block needed. from .actions._helpers import ( # noqa: F401 _check_response, _if_role_same,