Skip to main content
Glama
update-example-changes.sh2.01 kB
#!/usr/bin/env bash sync_repo_token=$1 # Configure Git git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" # Get the SHA of the latest commit latest_commit_sha=$(git rev-parse HEAD) # Get the commit message of the latest commit commit_message=$(git log --format=%B -n 1 $latest_commit_sha) # Get the first line of the commit message formatted_title=$(echo "$commit_message" | head -n 1) # Loop through all projects in examples for path in examples/*; do # Store the current working directory initial_working_directory=$(pwd) # Extract the folder name from the path folder_name=$(basename $path) # Check if the listening repo exists repo="https://$sync_repo_token:@github.com/medplum/${folder_name}.git" REPO_STATUS=$(curl -s -o /dev/null -I -w "%{http_code}" -H "Authorization: token $sync_repo_token" "https://api.github.com/repos/medplum/${folder_name}") # If the repo does not exist, create a new repo if [ $REPO_STATUS -eq 404 ]; then CREATE_REPO_PAYLOAD="{\"name\": \"${folder_name}\", \"default_branch\": \"main\"}" CREATE_REPO_RESPONSE=$(curl -s -X POST -H "Authorization: token $sync_repo_token" -H "Content-Type: application/json" -H "Accept: application/vnd.github+json" --data "$CREATE_REPO_PAYLOAD" "https://api.github.com/orgs/medplum/repos") echo "Created new repo: $(echo $CREATE_REPO_RESPONSE | jq -r '.html_url')" fi # Clone the corresponding listening repo git clone "$repo" # Copy changed files to the listening repo rsync -a --delete --exclude .git/ "${initial_working_directory}/${path%}"/ ${folder_name}/ # Copy the LICENSE file to the listening repo cp LICENSE.txt ${folder_name}/ # Commit and push changes to the listening repo cd ${folder_name} git add . git commit -s -m "Merge from main repo: ${formatted_title}" git push origin main # Cleanup: Remove the cloned repo folder and delete the local branch cd .. rm -rf ${folder_name} done

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/medplum/medplum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server