Skip to content

Commit 113f6b3

Browse files
authored
feature #1114 feat: Secret Scanning Alerts (haridarshan)
This PR was squashed before being merged into the 3.12-dev branch. Discussion ---------- Feature: - Secret Scanning Alerts Doc: - Secret Scanning doc Closes #1080 Commits ------- 98053b5 feat: Add Secret Scanning Alerts (Enterprise, Organization & Repository) 7b434a9 chore(styleci): apply styleci patch
1 parent b0ce482 commit 113f6b3

File tree

13 files changed

+405
-0
lines changed

13 files changed

+405
-0
lines changed

doc/README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ v3 APIs:
1414
* [Public keys](currentuser/publickeys.md)
1515
* [Memberships](currentuser/memberships.md)
1616
* [Enterprise](enterprise.md)
17+
* [Secret Scanning Alert](enterprise/secret-scanning.md)
1718
* [Gists](gists.md)
1819
* [Comments](gists/comments.md)
1920
* GitData
@@ -42,6 +43,7 @@ v3 APIs:
4243
* [Self hosted runners](organization/actions/self_hosted_runners.md)
4344
* [Secrets](organization/actions/secrets.md)
4445
* [Variables](organization/actions/variables.md)
46+
* [Secret Scanning Alert](organization/secret-scanning.md)
4547
* [Projects](project/projects.md)
4648
* [Columns](project/columns.md)
4749
* [Cards](project/cards.md)
@@ -74,6 +76,7 @@ v3 APIs:
7476
* [Stargazers](repo/stargazers.md)
7577
* [Statuses](repo/statuses.md)
7678
* [Tags](repo/tags.md)
79+
* [Secret Scanning Alert](repo/secret-scanning.md)
7780
* [Search](search.md)
7881
* [Users](users.md)
7982

doc/enterprise/secret-scanning.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## Enterprise / Secret Scanning API
2+
[Back to the "Enterprise API"](../../enterprise.md) | [Back to the navigation](../../README.md)
3+
4+
# List secret-scanning alerts for an Enterprise
5+
6+
https://docs.github.com/en/[email protected]/rest/secret-scanning#list-secret-scanning-alerts-for-an-enterprise
7+
8+
```php
9+
$alerts = $client->api('enterprise')->secretScanning()->alerts('KnpLabs');
10+
```

doc/organization/secret-scanning.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## Organization / Secret Scanning API
2+
[Back to the "Organization API"](../../organization.md) | [Back to the navigation](../../README.md)
3+
4+
# List secret-scanning alerts for an Organization
5+
6+
https://docs.github.com/en/[email protected]/rest/secret-scanning#list-secret-scanning-alerts-for-an-organization
7+
8+
```php
9+
$alerts = $client->api('organization')->secretScanning()->alerts('KnpLabs');
10+
```

doc/repo/secret-scanning.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
## Repository / Secret Scanning API
2+
[Back to the "Repos API"](../../repos.md) | [Back to the navigation](../../README.md)
3+
4+
# List secret-scanning alerts for a repository
5+
6+
https://docs.github.com/en/[email protected]/rest/secret-scanning#list-secret-scanning-alerts-for-a-repository
7+
8+
```php
9+
$alerts = $client->api('repos')->secretScanning()->alerts('KnpLabs', 'php-github-api');
10+
```
11+
12+
# Get a secret-scanning alert
13+
14+
https://docs.github.com/en/[email protected]/rest/secret-scanning#get-a-secret-scanning-alert
15+
16+
```php
17+
$alert = $client->api('repos')->secretScanning()->getAlert('KnpLabs', 'php-github-api', $alertNumber);
18+
```
19+
20+
# Update a secret-scanning alert
21+
22+
https://docs.github.com/en/[email protected]/rest/secret-scanning#update-a-secret-scanning-alert
23+
24+
```php
25+
$client->api('repos')->secretScanning()->updateAlert('KnpLabs', 'php-github-api', $alertNumber, [
26+
'state' => 'resolved',
27+
'resolution' => 'wont-fix'
28+
]);
29+
```
30+
31+
# List Locations for a secret-scanning alert
32+
33+
https://docs.github.com/en/[email protected]/rest/secret-scanning#list-locations-for-a-secret-scanning-alert
34+
35+
```php
36+
$locations = $client->api('repos')->secretScanning()->locations('KnpLabs', 'php-github-api', $alertNumber);
37+
```

lib/Github/Api/Enterprise.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Github\Api\Enterprise\License;
66
use Github\Api\Enterprise\ManagementConsole;
7+
use Github\Api\Enterprise\SecretScanning;
78
use Github\Api\Enterprise\Stats;
89
use Github\Api\Enterprise\UserAdmin;
910

@@ -48,4 +49,12 @@ public function userAdmin()
4849
{
4950
return new UserAdmin($this->getClient());
5051
}
52+
53+
/**
54+
* @return SecretScanning
55+
*/
56+
public function secretScanning(): SecretScanning
57+
{
58+
return new SecretScanning($this->getClient());
59+
}
5160
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Github\Api\Enterprise;
4+
5+
use Github\Api\AbstractApi;
6+
7+
class SecretScanning extends AbstractApi
8+
{
9+
/**
10+
* @link https://docs.github.com/en/[email protected]/rest/secret-scanning#list-secret-scanning-alerts-for-an-enterprise
11+
*
12+
* @param string $enterprise
13+
* @param array $params
14+
*
15+
* @return array|string
16+
*/
17+
public function alerts(string $enterprise, array $params = [])
18+
{
19+
return $this->get('/enterprises/'.rawurlencode($enterprise).'/secret-scanning/alerts', $params);
20+
}
21+
}

lib/Github/Api/Organization.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Github\Api\Organization\Hooks;
99
use Github\Api\Organization\Members;
1010
use Github\Api\Organization\OutsideCollaborators;
11+
use Github\Api\Organization\SecretScanning;
1112
use Github\Api\Organization\Teams;
1213

1314
/**
@@ -149,4 +150,12 @@ public function runners(): SelfHostedRunners
149150
{
150151
return new SelfHostedRunners($this->getClient());
151152
}
153+
154+
/**
155+
* @return SecretScanning
156+
*/
157+
public function secretScanning(): SecretScanning
158+
{
159+
return new SecretScanning($this->getClient());
160+
}
152161
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
3+
namespace Github\Api\Organization;
4+
5+
class SecretScanning extends \Github\Api\AbstractApi
6+
{
7+
/**
8+
* @link https://docs.github.com/en/[email protected]/rest/secret-scanning#list-secret-scanning-alerts-for-an-organization
9+
*
10+
* @param string $organization
11+
* @param array $params
12+
*
13+
* @return array|string
14+
*/
15+
public function alerts(string $organization, array $params = [])
16+
{
17+
return $this->get('/orgs/'.rawurlencode($organization).'/secret-scanning/alerts', $params);
18+
}
19+
}

lib/Github/Api/Repo.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
use Github\Api\Repository\Projects;
2525
use Github\Api\Repository\Protection;
2626
use Github\Api\Repository\Releases;
27+
use Github\Api\Repository\SecretScanning;
2728
use Github\Api\Repository\Stargazers;
2829
use Github\Api\Repository\Statuses;
2930
use Github\Api\Repository\Traffic;
@@ -897,4 +898,12 @@ public function disableVulnerabilityAlerts(string $username, string $repository)
897898
{
898899
return $this->delete('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/vulnerability-alerts');
899900
}
901+
902+
/**
903+
* @return SecretScanning
904+
*/
905+
public function secretScanning(): SecretScanning
906+
{
907+
return new SecretScanning($this->getClient());
908+
}
900909
}
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<?php
2+
3+
namespace Github\Api\Repository;
4+
5+
class SecretScanning extends \Github\Api\AbstractApi
6+
{
7+
/**
8+
* @link https://docs.github.com/en/[email protected]/rest/secret-scanning#list-secret-scanning-alerts-for-a-repository
9+
*
10+
* @param string $username
11+
* @param string $repository
12+
* @param array $params
13+
*
14+
* @return array|string
15+
*/
16+
public function alerts(string $username, string $repository, array $params = [])
17+
{
18+
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/secret-scanning/alerts', $params);
19+
}
20+
21+
/**
22+
* @link https://docs.github.com/en/[email protected]/rest/secret-scanning#get-a-secret-scanning-alert
23+
*
24+
* @param string $username
25+
* @param string $repository
26+
* @param int $alertNumber
27+
*
28+
* @return array|string
29+
*/
30+
public function getAlert(string $username, string $repository, int $alertNumber)
31+
{
32+
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/secret-scanning/alerts/'.$alertNumber);
33+
}
34+
35+
/**
36+
* @link https://docs.github.com/en/[email protected]/rest/secret-scanning#update-a-secret-scanning-alert
37+
*
38+
* @param string $username
39+
* @param string $repository
40+
* @param int $alertNumber
41+
* @param array $params
42+
*
43+
* @return array|string
44+
*/
45+
public function updateAlert(string $username, string $repository, int $alertNumber, array $params = [])
46+
{
47+
return $this->patch('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/secret-scanning/alerts/'.$alertNumber, $params);
48+
}
49+
50+
/**
51+
* @link https://docs.github.com/en/[email protected]/rest/secret-scanning#list-locations-for-a-secret-scanning-alert
52+
*
53+
* @param string $username
54+
* @param string $repository
55+
* @param int $alertNumber
56+
* @param array $params
57+
*
58+
* @return array|string
59+
*/
60+
public function locations(string $username, string $repository, int $alertNumber, array $params = [])
61+
{
62+
return $this->get('/repos/'.rawurlencode($username).'/'.rawurlencode($repository).'/secret-scanning/alerts/'.$alertNumber.'/locations', $params);
63+
}
64+
}

0 commit comments

Comments
 (0)