๐Ÿ”€ Procedure for Merging a PR

1. Fork and Clone the Repository

# Fork the repository to your GitHub account
git clone git@github.com:{github_username}/zeppelin.git
cd zeppelin

2. Add the Apache Upstream Remote

git remote add apache git@github.com:apache/zeppelin.git

3. Configure Local Git User Info

git config --local --add user.name "{Your Name}"
git config --local --add user.email "{your_username}@apache.org"

4. Setup shell variables and python environment to execute merge script

uv venv
source .venv/bin/activate
uv pip install jira python-dotenv


# Set Shell variables
# https://github.com/apache/zeppelin/blob/master/dev/merge_zeppelin_pr.py#L50-L62

# ASF JIRA username
JIRA_USERNAME = os.environ.get("JIRA_USERNAME", "")
# ASF JIRA password
JIRA_PASSWORD = os.environ.get("JIRA_PASSWORD", "")
# ASF JIRA access token
# If it is configured, username and password are dismissed
# Go to https://issues.apache.org/jira/secure/ViewProfile.jspa -> Personal Access Tokens for
# your own token management.
JIRA_ACCESS_TOKEN = os.environ.get("JIRA_ACCESS_TOKEN")
# OAuth key used for issuing requests against the GitHub API. If this is not defined, then requests
# will be unauthenticated. You should only need to configure this if you find yourself regularly
# exceeding your IP's unauthenticated request rate limit. You can create an OAuth key at
# https://github.com/settings/tokens. This script only requires the "public_repo" scope.
GITHUB_OAUTH_KEY = os.environ.get("GITHUB_OAUTH_KEY")


dev/merge_zeppelin_pr.py


๐ŸŒฟ Merging into branch-0.xx (in addition to master)

Sometimes a PR is merged into master but also needs to be applied to a maintenance branch such as branch-0.xx.
In that case, after completing the merge into master, cherry-pick the commit into the target branch:

# Example: Apply commit __COMMIT_ID__ to branch-0.12
git checkout branch-0.12
git cherry-pick __COMMIT_ID__
git push apache branch-0.12

Replace __COMMIT_ID__ย with the actual commit hash of the merged PR.


๐ŸŒ Procedure for Updating the Zeppelin Website


๐Ÿ‘ฅ Information for New Committers

In addition to standard Apache committer privileges, new committers should be granted access to the following: