Verificação de código
Use a API REST para recuperar e atualizar os alertas da code scanning de um repositório.
Sobre a varredura de código
É possível recuperar e atualizar os alertas da code scanning de um repositório. Você pode usar os pontos de extremidade para criar relatórios automatizados para os alertas de code scanning em uma organização ou fazer upload dos resultados de análise gerados usando as ferramentas off-line de code scanning. Para obter mais informações, confira "Encontrar vulnerabilidades e erros de segurança no seu código com a digitalização de código".
Tipo de mídia personalizada para code scanning
Existe um tipo de mídia personalizada com suporte para pontos de extremidade da code scanning.
application/sarif+json
Use isso com solicitações GET enviadas ao ponto de extremidade /analyses/{analysis_id}. Para obter mais informações sobre essa operação, confira "Obter uma análise da code scanning para um repositório". Quando você usa esse tipo de mídia com essa operação, a resposta inclui um subconjunto dos dados reais que foram carregados para a análise especificada, em vez do resumo da análise retornada quando você usa o tipo de mídia padrão. A resposta também inclui dados adicionais, como as propriedades github/alertNumber e github/alertUrl. Os dados são formatados como SARIF versão 2.1.0.
Para obter mais informações, confira "Tipos de mídia".
List code scanning alerts for an organization
Lists code scanning alerts for the default branch for all eligible repositories in an organization. Eligible repositories are repositories that are owned by organizations that you own or for which you are a security manager. For more information, see "Managing security managers in your organization."
To use this endpoint, you must be an owner or security manager for the organization, and you must use an access token with the repo scope or security_events scope.
For public repositories, you may instead use the public_repo scope.
GitHub Apps must have the security_events read permission to use this endpoint.
Parameters for "List code scanning alerts for an organization"
| Headers |
|---|
| Name, Type, Description |
acceptstringSetting to |
| Path parameters |
| Name, Type, Description |
orgstringRequiredThe organization name. The name is not case sensitive. |
| Query parameters |
| Name, Type, Description |
tool_namestringThe name of a code scanning tool. Only results by this tool will be listed. You can specify the tool by using either |
tool_guidstring or nullThe GUID of a code scanning tool. Only results by this tool will be listed. Note that some code scanning tools may not include a GUID in their analysis data. You can specify the tool by using either |
beforestringA cursor, as given in the Link header. If specified, the query only searches for results before this cursor. |
afterstringA cursor, as given in the Link header. If specified, the query only searches for results after this cursor. |
pageintegerPage number of the results to fetch. Default: |
per_pageintegerThe number of results per page (max 100). Default: |
directionstringThe direction to sort the results by. Default: Can be one of: |
statestringIf specified, only code scanning alerts with this state will be returned. Can be one of: |
sortstringThe property by which to sort the results. Default: Can be one of: |
severitystringIf specified, only code scanning alerts with this severity will be returned. Can be one of: |
HTTP response status codes for "List code scanning alerts for an organization"
| Status code | Description |
|---|---|
200 | OK |
404 | Resource not found |
503 | Service unavailable |
Code samples for "List code scanning alerts for an organization"
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>"\
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/orgs/ORG/code-scanning/alertsResponse
Status: 200[
{
"number": 4,
"created_at": "2020-02-13T12:29:18Z",
"url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/4",
"html_url": "https://github.com/octocat/hello-world/code-scanning/4",
"state": "open",
"dismissed_by": null,
"dismissed_at": null,
"dismissed_reason": null,
"dismissed_comment": null,
"rule": {
"id": "js/zipslip",
"severity": "error",
"tags": [
"security",
"external/cwe/cwe-022"
],
"description": "Arbitrary file write during zip extraction",
"name": "js/zipslip"
},
"tool": {
"name": "CodeQL",
"guid": null,
"version": "2.4.0"
},
"most_recent_instance": {
"ref": "refs/heads/main",
"analysis_key": ".github/workflows/codeql-analysis.yml:CodeQL-Build",
"environment": "{}",
"state": "open",
"commit_sha": "39406e42cb832f683daa691dd652a8dc36ee8930",
"message": {
"text": "This path depends on a user-provided value."
},
"location": {
"path": "spec-main/api-session-spec.ts",
"start_line": 917,
"end_line": 917,
"start_column": 7,
"end_column": 18
},
"classifications": [
"test"
]
},
"instances_url": "https://api.github.com/repos/octocat/hello-world/code-scanning/alerts/4/instances",
"repository": {
"id": 1296269,
"node_id": "MDEwOlJlcG9zaXRvcnkxMjk2MjY5",
"name": "Hello-World",
"full_name": "octocat/Hello-World",
"owner": {
"login": "octocat",
"id": 1,
"node_id": "MDQ6VXNlcjE=",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"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_adm