Skip to content

Automate Jira tickets for new GitHub issues - #1694

Merged
vuanhphung merged 1 commit into
mainfrom
vu-phung/automate-jira-issues
Sep 24, 2026
Merged

vuanhphung merged 1 commit into
mainfrom
vu-phung/automate-jira-issues

Conversation

@vuanhphung

Copy link
Copy Markdown
Collaborator

Description

Create an ES Incident when a GitHub issue is opened, then post the Jira link back to the issue. The workflow uses the OSS JDBC component and avoids duplicate tickets on reruns.

NO_CHANGELOG=true

Testing

  • Parsed the workflow YAML locally
  • Compiled the embedded Python
  • Ran git diff --check

Telemetry Errors

  • Not applicable — this PR does not add or change a telemetry-visible error.
  • Applicable — the error uses DatabricksDriverErrorCode where appropriate, and any new code is uniquely numbered and tested.
  • Applicable — its driver/server/user classification is linked, or maintainer help is requested because the author cannot access the classification.

Additional Notes to the Reviewer

Requires the JIRA_API_TOKEN repository secret. Jira assignee is intentionally omitted.


This PR was created with GitHub MCP.

Signed-off-by: Vu Anh Phung <vu.phung@databricks.com>

@peco-review-bot peco-review-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: 2 Low

Looks good — a clean, self-contained CI workflow that correctly avoids script injection (reads issue data from the event file, not ${{ }} interpolation) and is idempotent via label search + comment marker + per-issue concurrency group. Two low maintainability notes below (hardcoded personal Jira email; duplicate search not scoped by status). Nit: comment.get("body", "") returns None if a comment's body key is present-but-null, which would raise a TypeError in the in check — comment.get("body") or "" is safer, though GitHub issue-comment bodies are effectively always strings so this is largely defensive. NO_CHANGELOG=true is correctly set for this CI-only change per CLAUDE.md.

GITHUB_TOKEN: ${{ github.token }}
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
shell: python
run: |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Low — JIRA_EMAIL is hardcoded to an individual's personal address (vu.phung@databricks.com). The Basic-auth credential is email:token, so if this person's account is deprovisioned or their email changes, the automation silently breaks (all Jira calls start returning 401) with no obvious owner. Consider using a shared/service Jira account email, or sourcing it from a repository secret/variable alongside JIRA_API_TOKEN, so the automation isn't tied to one employee's identity.

{
"type": "heading",
"attrs": {"level": 2},
"content": [{"type": "text", "text": "GitHub issue"}],

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Low — The duplicate-ticket search (project = ES AND labels = "...") does not scope by status. If a matching ES incident was previously created and later closed/resolved, a re-run (or a future trigger) will reuse that closed ticket and only re-post the tracking comment, rather than opening a fresh incident. If reopening a tracking ticket for renewed activity is desired, this is worth handling; if reuse-forever is intended, a brief comment noting that would help future maintainers.

@vuanhphung
vuanhphung added this pull request to the merge queue Sep 24, 2026
Merged via the queue into main with commit 952c89c Sep 24, 2026
29 checks passed
@vuanhphung
vuanhphung deleted the vu-phung/automate-jira-issues branch September 24, 2026 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant