Skip to content

Commit 4cb72b6

Browse files
updated env variable from GH_TOKEN to GH_APP_TOKEN
1 parent a477d03 commit 4cb72b6

File tree

3 files changed

+47
-5
lines changed

3 files changed

+47
-5
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,5 +158,5 @@ cython_debug/
158158
# and can be added to the global gitignore or merged into this file. For a more nuclear
159159
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
160160
.idea/
161-
161+
label.py
162162

generate_jwt.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import os
55
import requests
66
from dotenv import load_dotenv
7+
from label import create_github_label
78

89
def create_jwt(private_key, app_id):
910
"""
@@ -13,9 +14,9 @@ def create_jwt(private_key, app_id):
1314
:return:
1415
"""
1516
# Open PEM
16-
# with open(private_key, 'rb') as pem_file:
17-
# signing_key = jwk_from_pem(pem_file.read())
18-
signing_key = jwk_from_pem(private_key.encode('utf-8'))
17+
with open(private_key, 'rb') as pem_file:
18+
signing_key = jwk_from_pem(pem_file.read())
19+
# signing_key = jwk_from_pem(private_key.encode('utf-8'))
1920

2021
payload = {
2122
# Issued at time
@@ -84,7 +85,7 @@ def generate_token_by_post_call(installation_id:int, jwt:str):
8485
response_json = response.json()
8586
if response.status_code == 201:
8687
print(f'Github app installation token generate succcessfully, expires at {response_json["expires_at"]}')
87-
os.environ['GH_TOKEN'] = response_json['token']
88+
os.environ['GH_APP_TOKEN'] = response_json['token']
8889

8990
def main():
9091
"""
@@ -108,5 +109,6 @@ def main():
108109
generate_token_by_post_call(installation_id=installation_id, jwt=jwt)
109110

110111

112+
111113
if __name__ == "__main__":
112114
main()

label.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import requests
2+
import os
3+
import argparse
4+
from dotenv import load_dotenv
5+
6+
7+
def create_github_label(repo:str):
8+
url = f"https://api.github.com/repos/{repo}/labels"
9+
headers = {
10+
"Authorization": f"token {os.getenv('GH_TOKEN')}",
11+
"Accept": "application/vnd.github.v3+json"
12+
}
13+
payload = {
14+
"name": 'label_name',
15+
"color": "f29513", # Default color for the label, you can change this
16+
"description": f"Label 123"
17+
}
18+
19+
response = requests.post(url, json=payload, headers=headers)
20+
21+
if response.status_code == 201:
22+
print(f"Label created successfully in repository '{repo}'!")
23+
else:
24+
print(f"Failed to create label in repository '{repo}'.")
25+
print("Response:", response.json())
26+
27+
28+
if __name__ == "__main__":
29+
load_dotenv()
30+
parser = argparse.ArgumentParser(description='Create a GitHub label in a repository.')
31+
# parser.add_argument('--repo', type=str, help='GitHub repository name in the format "owner/repo".')
32+
# parser.add_argument('--label_name', type=str, help='Name of the label to create.')
33+
34+
args = parser.parse_args()
35+
repo = os.getenv('GITHUB_REPOSITORY_OWNER')/os.getenv('GITHUB_REPOSITORY')
36+
# label_name = args.label_name
37+
# Get the GitHub token from environment variable or argument
38+
# github_token = os.getenv('GITHUB_TOKEN')
39+
40+
create_github_label(repo=repo)

0 commit comments

Comments
 (0)