From 869d50544b30e6d731e209b9a4a08e3ef7bea2b8 Mon Sep 17 00:00:00 2001 From: Lalit Kumar Date: Fri, 20 Mar 2026 22:54:13 +0530 Subject: [PATCH 01/21] Updated agent.py and triage workflow for auto assignment. --- .github/workflows/triage.yml | 11 ++-- .../samples/adk_triaging_agent/agent.py | 51 +++++++++++++++++-- 2 files changed, 51 insertions(+), 11 deletions(-) diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index ff1afaac98..ed0e4bf9aa 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -9,16 +9,15 @@ on: jobs: agent-triage-issues: - runs-on: ubuntu-latest + runs-on: [self-hosted, Linux, X64] # Run for: # - Scheduled runs (batch processing) # - New issues (need component labeling) # - Issues labeled with "planned" (need owner assignment) if: >- - github.repository == 'google/adk-python' && ( + github.repository == 'llalitkumarrr/adk-python' && ( github.event_name == 'schedule' || - github.event.action == 'opened' || - github.event.label.name == 'planned' + github.event.action == 'opened' ) permissions: issues: write @@ -43,7 +42,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }} GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} GOOGLE_GENAI_USE_VERTEXAI: 0 - OWNER: ${{ github.repository_owner }} + OWNER: ${{ secrets.REPOSITORY_OWNER }} REPO: ${{ github.event.repository.name }} INTERACTIVE: 0 EVENT_NAME: ${{ github.event_name }} # 'issues', 'schedule', etc. @@ -52,4 +51,4 @@ jobs: ISSUE_BODY: ${{ github.event.issue.body }} ISSUE_COUNT_TO_PROCESS: '3' # Process 3 issues at a time on schedule PYTHONPATH: contributing/samples - run: python -m adk_triaging_agent.main + run: gtech-run contributing/samples/adk_triaging_agent/main.py diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index 4ea3facc03..a646d82ca3 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -42,6 +42,9 @@ "workflow": "DeanChensj", } + +LABEL_TO_GTECH = ["llalitkumarrr","surajksharma07","klateefa"] + LABEL_GUIDELINES = """ Label rubric and disambiguation rules: - "documentation": Tutorials, README content, reference docs, or samples. @@ -121,15 +124,17 @@ def list_untriaged_issues(issue_count: int) -> dict[str, Any]: existing_component_labels = issue_labels & component_labels has_component = bool(existing_component_labels) - has_planned = "planned" in issue_labels + # has_planned = "planned" in issue_labels # Determine what actions are needed needs_component_label = not has_component - needs_owner = has_planned and not assignees + # needs_owner = has_planned and not assignees + needs_owner = not assignees + # Include issue if it needs any action if needs_component_label or needs_owner: - issue["has_planned_label"] = has_planned + # issue["has_planned_label"] = has_planned issue["has_component_label"] = has_component issue["existing_component_label"] = ( list(existing_component_labels)[0] @@ -177,6 +182,41 @@ def add_label_to_issue(issue_number: int, label: str) -> dict[str, Any]: } +def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: + """Assign an owner from the GTech team to the given issue number. + This is go to option irrespective of component label or planned label, as long as the issue needs an owner. + + All unassigned issues will be considered for GTech ownership. Unassigned issues will seperated in two categories: issues with type "Bug" and issues with type "Feature". Then bug issues and feature issues will be equally assigned to the Gtech members in such a way that every day all members get equal number of bug and feature issues. + + Args: + issue_number: issue number of the GitHub issue. + + Returns: + The status of this request, with the assigned owner when successful. + """ + print( + f"Attempting to assign GTech owner to issue #{issue_number}" + ) + + + owner = LABEL_TO_GTECH[issue_number % len(LABEL_TO_GTECH)] + assignee_url = ( + f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{issue_number}/assignees" + ) + assignee_payload = {"assignees": [owner]} + + try: + response = post_request(assignee_url, assignee_payload) + except requests.exceptions.RequestException as e: + return error_response(f"Error: {e}") + + return { + "status": "success", + "message": response, + "assigned_owner": owner, + } + + def add_owner_to_issue(issue_number: int, label: str) -> dict[str, Any]: """Assign an owner to the issue based on the component label. @@ -264,7 +304,7 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: For each issue, perform ONLY the required actions based on the flags: 1. **If `needs_component_label` is true**: - - Use `add_label_to_issue` to add the appropriate component label + - Use `assign_gtech_owner_to_issue` to add the appropriate component label - Use `change_issue_type` to set the issue type: - Bug report → "Bug" - Feature request → "Feature" @@ -294,7 +334,8 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: tools=[ list_untriaged_issues, add_label_to_issue, - add_owner_to_issue, + # add_owner_to_issue, + assign_gtech_owner_to_issue, change_issue_type, ], ) From e3df1dc455cd85ad2aa0b934f51791f690f7f5df Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 14:05:29 +0530 Subject: [PATCH 02/21] Fix print statement syntax in main.py --- contributing/samples/adk_triaging_agent/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/main.py b/contributing/samples/adk_triaging_agent/main.py index 2d65cfd67d..5d4360074c 100644 --- a/contributing/samples/adk_triaging_agent/main.py +++ b/contributing/samples/adk_triaging_agent/main.py @@ -11,7 +11,7 @@ # 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. - +print("Running adk triage bot) import asyncio import time From bb3b19faf726bd7a06e66ba3486695e71628f44f Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 14:12:15 +0530 Subject: [PATCH 03/21] Change REPO environment variable to use secrets --- .github/workflows/triage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index ed0e4bf9aa..0063dd57d7 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -43,7 +43,7 @@ jobs: GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} GOOGLE_GENAI_USE_VERTEXAI: 0 OWNER: ${{ secrets.REPOSITORY_OWNER }} - REPO: ${{ github.event.repository.name }} + REPO: ${{ secrets.REPO_NAME }} INTERACTIVE: 0 EVENT_NAME: ${{ github.event_name }} # 'issues', 'schedule', etc. ISSUE_NUMBER: ${{ github.event.issue.number }} From 546043c7095a5d0070094388c8f521a37dae78f0 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 16:04:06 +0530 Subject: [PATCH 04/21] Fix print statement syntax in main.py --- contributing/samples/adk_triaging_agent/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/main.py b/contributing/samples/adk_triaging_agent/main.py index 5d4360074c..9bfa35f918 100644 --- a/contributing/samples/adk_triaging_agent/main.py +++ b/contributing/samples/adk_triaging_agent/main.py @@ -11,7 +11,7 @@ # 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. -print("Running adk triage bot) +print("Running adk triage bot") import asyncio import time From 2bf4fe65fb790316c5e77a151543bc489762e272 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 16:10:42 +0530 Subject: [PATCH 05/21] Update GitHub token in triage workflow Replaced ADK_TRIAGE_AGENT secret with GITHUB_TOKEN for authentication. --- .github/workflows/triage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 0063dd57d7..0cd74e6d29 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -39,7 +39,7 @@ jobs: - name: Run Triaging Script env: - GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} GOOGLE_GENAI_USE_VERTEXAI: 0 OWNER: ${{ secrets.REPOSITORY_OWNER }} From 6319fba1d562372a06760d1164f27730be53db89 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 16:18:37 +0530 Subject: [PATCH 06/21] Updated main.py for need owner. --- contributing/samples/adk_triaging_agent/main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/main.py b/contributing/samples/adk_triaging_agent/main.py index 9bfa35f918..28227d82c1 100644 --- a/contributing/samples/adk_triaging_agent/main.py +++ b/contributing/samples/adk_triaging_agent/main.py @@ -57,7 +57,8 @@ async def fetch_specific_issue_details(issue_number: int): # Determine what actions are needed needs_component_label = not has_component - needs_owner = has_planned and not has_assignee + # needs_owner = has_planned and not has_assignee + needs_owner = not has_assignee if needs_component_label or needs_owner: print( From 9cc129c692da06d14f7c5c42b7aae85fc5d61b10 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 16:33:32 +0530 Subject: [PATCH 07/21] Change owner assignment function in agent.py Updated function to use 'assign_gtech_owner_to_issue' for owner assignment based on component label. --- contributing/samples/adk_triaging_agent/agent.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index a646d82ca3..281af98cbc 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -311,8 +311,8 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: - Otherwise → do not change the issue type 2. **If `needs_owner` is true**: - - Use `add_owner_to_issue` to assign an owner based on the component label - - Note: If the issue already has a component label (`has_component_label: true`), use that existing label to determine the owner + - Use `assign_gtech_owner_to_issue` to assign an owner based on the component label + Do NOT add a component label if `needs_component_label` is false. Do NOT assign an owner if `needs_owner` is false. From adf0ee0208f2e657835d45a5cd2f807b70f8bebe Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 16:52:09 +0530 Subject: [PATCH 08/21] Reorder GTech owners and update variable names --- contributing/samples/adk_triaging_agent/agent.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index 281af98cbc..c13e85639e 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -43,7 +43,7 @@ } -LABEL_TO_GTECH = ["llalitkumarrr","surajksharma07","klateefa"] +LABEL_TO_GTECH = ["klateefa","llalitkumarrr","surajksharma07"] LABEL_GUIDELINES = """ Label rubric and disambiguation rules: @@ -199,11 +199,11 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: ) - owner = LABEL_TO_GTECH[issue_number % len(LABEL_TO_GTECH)] + gtech_assignee = LABEL_TO_GTECH[issue_number % len(LABEL_TO_GTECH)] assignee_url = ( f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{issue_number}/assignees" ) - assignee_payload = {"assignees": [owner]} + assignee_payload = {"assignees": [gtech_assignee]} try: response = post_request(assignee_url, assignee_payload) @@ -213,7 +213,7 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: return { "status": "success", "message": response, - "assigned_owner": owner, + "assigned_owner": gtech_assignee, } From a0ca79079ed65f8dd212d4aec09810b316fc6686 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 16:52:55 +0530 Subject: [PATCH 09/21] Simplify owner assignment instruction in agent.py Clarified the assignment of an owner in the agent.py file. --- contributing/samples/adk_triaging_agent/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index c13e85639e..d40ad8c68e 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -311,7 +311,7 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: - Otherwise → do not change the issue type 2. **If `needs_owner` is true**: - - Use `assign_gtech_owner_to_issue` to assign an owner based on the component label + - Use `assign_gtech_owner_to_issue` to assign an owner. Do NOT add a component label if `needs_component_label` is false. From cd2b98179177b4c4344c7ecb4b0aae30a51f3674 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 17:07:31 +0530 Subject: [PATCH 10/21] Refactor triaging agent comments for clarity --- contributing/samples/adk_triaging_agent/agent.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index d40ad8c68e..c8270b3461 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -299,12 +299,12 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: Each issue will have flags indicating what actions are needed: - `needs_component_label`: true if the issue needs a component label - - `needs_owner`: true if the issue needs an owner assigned (has 'planned' label but no assignee) + - `needs_owner`: true if the issue needs an owner assigned For each issue, perform ONLY the required actions based on the flags: 1. **If `needs_component_label` is true**: - - Use `assign_gtech_owner_to_issue` to add the appropriate component label + - Use `add_label_to_issue` to add the appropriate component label - Use `change_issue_type` to set the issue type: - Bug report → "Bug" - Feature request → "Feature" @@ -322,14 +322,13 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: placeholders (never output text like "[fill in later]"). - Justify the chosen label with a short explanation referencing the issue details. - - Mention the assigned owner only when you actually assign one (i.e., when - the issue has the 'planned' label). + - Mention the assigned owner only when you actually assign one. - If no label is applied, clearly state why. Present the following in an easy to read format highlighting issue number and your label. - the issue summary in a few sentence - your label recommendation and justification - - the owner of the label if you assign the issue to an owner (only for planned issues) + - the owner, if you assign the issue to an owner """, tools=[ list_untriaged_issues, From 2b57be88783057f2ef186029a1d1d9819d3f9c56 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 17:17:53 +0530 Subject: [PATCH 11/21] Update agent.py --- contributing/samples/adk_triaging_agent/agent.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index c8270b3461..ce84222626 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -200,13 +200,22 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: gtech_assignee = LABEL_TO_GTECH[issue_number % len(LABEL_TO_GTECH)] + if not gtech_assignee: + return { + "status": "warning", + "message": f"No gtech_assignee found, will add any assignee", + } assignee_url = ( f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{issue_number}/assignees" ) assignee_payload = {"assignees": [gtech_assignee]} + print("assignee_payload:",assignee_payload) + try: response = post_request(assignee_url, assignee_payload) + print("successfully assigned this issue to :"gtech_assignee) + print("url to post assignee",url) except requests.exceptions.RequestException as e: return error_response(f"Error: {e}") From b32915682ccb3c6c159acecf3d4e1020d4a3104d Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 17:19:50 +0530 Subject: [PATCH 12/21] Fix print statement formatting for assignee message --- contributing/samples/adk_triaging_agent/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index ce84222626..81e200033b 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -214,7 +214,7 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: try: response = post_request(assignee_url, assignee_payload) - print("successfully assigned this issue to :"gtech_assignee) + print("successfully assigned this issue to :",gtech_assignee) print("url to post assignee",url) except requests.exceptions.RequestException as e: return error_response(f"Error: {e}") From 9e11f00b49cb838622edf84d8fa3b85711ee157c Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 17:23:13 +0530 Subject: [PATCH 13/21] Update agent.py --- contributing/samples/adk_triaging_agent/agent.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index 81e200033b..3e0dabee0f 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -215,7 +215,7 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: try: response = post_request(assignee_url, assignee_payload) print("successfully assigned this issue to :",gtech_assignee) - print("url to post assignee",url) + print("url to post assignee",assignee_url) except requests.exceptions.RequestException as e: return error_response(f"Error: {e}") From dda694979e5bc05e981a9eed2a9118dbdd416d7e Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 21:13:17 +0530 Subject: [PATCH 14/21] Clean up debug prints in agent.py Removed debug print statements for assignee payload and URL. --- contributing/samples/adk_triaging_agent/agent.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index 3e0dabee0f..f849e093e0 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -209,13 +209,11 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{issue_number}/assignees" ) assignee_payload = {"assignees": [gtech_assignee]} - print("assignee_payload:",assignee_payload) try: response = post_request(assignee_url, assignee_payload) print("successfully assigned this issue to :",gtech_assignee) - print("url to post assignee",assignee_url) except requests.exceptions.RequestException as e: return error_response(f"Error: {e}") From 329976160517cb4c25795be64bc4d0031155dd70 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 21:13:39 +0530 Subject: [PATCH 15/21] Remove print statement from main.py --- contributing/samples/adk_triaging_agent/main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/main.py b/contributing/samples/adk_triaging_agent/main.py index 28227d82c1..a0d4a826b2 100644 --- a/contributing/samples/adk_triaging_agent/main.py +++ b/contributing/samples/adk_triaging_agent/main.py @@ -11,7 +11,6 @@ # 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. -print("Running adk triage bot") import asyncio import time From 7caa8af04457e2976153b0136cd8f7c1d38ec33b Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 21:23:11 +0530 Subject: [PATCH 16/21] Update triage workflow Updated triaged workflow to run on google-adk python git repo, to automate issue assignment to gtech team. --- .github/workflows/triage.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index 0cd74e6d29..c7b63ad63f 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -9,7 +9,7 @@ on: jobs: agent-triage-issues: - runs-on: [self-hosted, Linux, X64] + runs-on: ubuntu-latest # Run for: # - Scheduled runs (batch processing) # - New issues (need component labeling) @@ -39,11 +39,11 @@ jobs: - name: Run Triaging Script env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.ADK_TRIAGE_AGENT }} GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }} GOOGLE_GENAI_USE_VERTEXAI: 0 - OWNER: ${{ secrets.REPOSITORY_OWNER }} - REPO: ${{ secrets.REPO_NAME }} + OWNER: ${{ github.repository_owner }} + REPO: ${{ github.event.repository.name }} INTERACTIVE: 0 EVENT_NAME: ${{ github.event_name }} # 'issues', 'schedule', etc. ISSUE_NUMBER: ${{ github.event.issue.number }} @@ -51,4 +51,4 @@ jobs: ISSUE_BODY: ${{ github.event.issue.body }} ISSUE_COUNT_TO_PROCESS: '3' # Process 3 issues at a time on schedule PYTHONPATH: contributing/samples - run: gtech-run contributing/samples/adk_triaging_agent/main.py + run: python -m adk_triaging_agent.main From 2a54461418e169369a9d25ca0ea5a13c895ffc79 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 21:48:08 +0530 Subject: [PATCH 17/21] Remove commented out needs_owner assignment --- contributing/samples/adk_triaging_agent/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/samples/adk_triaging_agent/main.py b/contributing/samples/adk_triaging_agent/main.py index a0d4a826b2..fcdac832ac 100644 --- a/contributing/samples/adk_triaging_agent/main.py +++ b/contributing/samples/adk_triaging_agent/main.py @@ -11,6 +11,7 @@ # 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 asyncio import time @@ -56,7 +57,6 @@ async def fetch_specific_issue_details(issue_number: int): # Determine what actions are needed needs_component_label = not has_component - # needs_owner = has_planned and not has_assignee needs_owner = not has_assignee if needs_component_label or needs_owner: From 655e8139d1a89e3474d9c4fb0f160fbceca1c6f1 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 21:57:01 +0530 Subject: [PATCH 18/21] Refactor print statements and clean up code --- contributing/samples/adk_triaging_agent/agent.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index f849e093e0..e8c16f1f83 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -43,7 +43,7 @@ } -LABEL_TO_GTECH = ["klateefa","llalitkumarrr","surajksharma07"] +LABEL_TO_GTECH = ["klateefa", "llalitkumarrr", "surajksharma07"] LABEL_GUIDELINES = """ Label rubric and disambiguation rules: @@ -131,7 +131,6 @@ def list_untriaged_issues(issue_count: int) -> dict[str, Any]: # needs_owner = has_planned and not assignees needs_owner = not assignees - # Include issue if it needs any action if needs_component_label or needs_owner: # issue["has_planned_label"] = has_planned @@ -194,11 +193,7 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: Returns: The status of this request, with the assigned owner when successful. """ - print( - f"Attempting to assign GTech owner to issue #{issue_number}" - ) - - + print(f"Attempting to assign GTech owner to issue #{issue_number}") gtech_assignee = LABEL_TO_GTECH[issue_number % len(LABEL_TO_GTECH)] if not gtech_assignee: return { @@ -208,12 +203,9 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: assignee_url = ( f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{issue_number}/assignees" ) - assignee_payload = {"assignees": [gtech_assignee]} - try: response = post_request(assignee_url, assignee_payload) - print("successfully assigned this issue to :",gtech_assignee) except requests.exceptions.RequestException as e: return error_response(f"Error: {e}") @@ -340,7 +332,6 @@ def change_issue_type(issue_number: int, issue_type: str) -> dict[str, Any]: tools=[ list_untriaged_issues, add_label_to_issue, - # add_owner_to_issue, assign_gtech_owner_to_issue, change_issue_type, ], From bb12582688011dc10e4f8fa37e8bd634512c1ace Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 22:01:36 +0530 Subject: [PATCH 19/21] Update repository condition in triage workflow --- .github/workflows/triage.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/triage.yml b/.github/workflows/triage.yml index c7b63ad63f..52805d3539 100644 --- a/.github/workflows/triage.yml +++ b/.github/workflows/triage.yml @@ -15,7 +15,7 @@ jobs: # - New issues (need component labeling) # - Issues labeled with "planned" (need owner assignment) if: >- - github.repository == 'llalitkumarrr/adk-python' && ( + github.repository == 'google/adk-python' && ( github.event_name == 'schedule' || github.event.action == 'opened' ) From bf2af491ca66751a2e1aa8616b13551399a99009 Mon Sep 17 00:00:00 2001 From: llalitkumarrr Date: Mon, 23 Mar 2026 22:07:12 +0530 Subject: [PATCH 20/21] Clean up formatting in add_label_to_issue function Removed unnecessary blank lines in add_label_to_issue function. --- contributing/samples/adk_triaging_agent/agent.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/contributing/samples/adk_triaging_agent/agent.py b/contributing/samples/adk_triaging_agent/agent.py index e8c16f1f83..c47bbb6a46 100644 --- a/contributing/samples/adk_triaging_agent/agent.py +++ b/contributing/samples/adk_triaging_agent/agent.py @@ -150,7 +150,6 @@ def list_untriaged_issues(issue_count: int) -> dict[str, Any]: def add_label_to_issue(issue_number: int, label: str) -> dict[str, Any]: """Add the specified component label to the given issue number. - Args: issue_number: issue number of the GitHub issue. label: label to assign @@ -203,7 +202,6 @@ def assign_gtech_owner_to_issue(issue_number: int) -> dict[str, Any]: assignee_url = ( f"{GITHUB_BASE_URL}/repos/{OWNER}/{REPO}/issues/{issue_number}/assignees" ) - try: response = post_request(assignee_url, assignee_payload) except requests.exceptions.RequestException as e: From 9922b606410badc6b01dbc20b3aa63091c06a51b Mon Sep 17 00:00:00 2001 From: Lalit Kumar Date: Thu, 2 Apr 2026 12:24:47 +0530 Subject: [PATCH 21/21] Upgrade mcp minimum version requirement from version 1.23.0 to version 1.24.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 2789bcf82a..44e692ea7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,7 @@ dependencies = [ "graphviz>=0.20.2, <1.0.0", # Graphviz for graph rendering "httpx>=0.27.0, <1.0.0", # HTTP client library "jsonschema>=4.23.0, <5.0.0", # Agent Builder config validation - "mcp>=1.23.0, <2.0.0", # For MCP Toolset + "mcp>=1.24.0, <2.0.0", # For MCP Toolset "opentelemetry-api>=1.36.0, <1.39.0", # OpenTelemetry - keep below 1.39.0 due to current agent_engines exporter constraints. "opentelemetry-exporter-gcp-logging>=1.9.0a0, <2.0.0", "opentelemetry-exporter-gcp-monitoring>=1.9.0a0, <2.0.0",