Is there a way to determine what branches and repositories are not being used so we can slate them for decommission? When we migrated from GitLab to Stash we had nearly 100 repos that were little labs that people created and just left untouched.
I'd like to have a way to find repositories or branches that have not had commits to them in the past, say six months. Is there a tool for this or has anyone used Stash's APIs to accomplish something like this?
This can be done with the REST API and a script - basically the steps are:
I've put together a small Python script that does this - the only dependency is the Requests library for easier HTTP. You'll need to change some variables at the top to match your environment.
import requests import datetime STASH_URL = 'http://localhost:7990/stash' USERNAME = 'admin' PASSWORD = 'admin' auth = (USERNAME, PASSWORD) THRESHOLD = datetime.datetime.now() - datetime.timedelta(weeks=26) # only show repos with commits older than half a year ago repos = requests.get(STASH_URL + '/rest/api/1.0/repos?limit=9999', auth=auth) values = repos.json()['values'] print("Searching %d repos..." % len(values)) for repo in values: repo = (repo['project']['key'], repo['slug']) branches_request = requests.get(STASH_URL + '/rest/api/1.0/projects/%s/repos/%s/branches?orderBy=MODIFICATION&limit=1' % repo, auth=auth) branches = branches_request.json()['values'] if len(branches) > 0: most_recent_branch = branches[0] most_recent_commit = most_recent_branch['latestChangeset'] commit_request = requests.get(STASH_URL + '/rest/api/1.0/projects/%s/repos/%s/commits/%s' % (repo + (most_recent_commit,)), auth=auth) commit = commit_request.json() commit_date = datetime.datetime.fromtimestamp(commit['authorTimestamp'] / 1000) if commit_date <= THRESHOLD: print("Most recent commit in repo %s in project %s was at %s by %s (%s)" % (repo + (commit_date, commit['author']['name'], commit['message'])))
The branches_request list does not support 'values' key . It is throwing the error it key should be an integer not a string. Stuck there.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Will this script works for Bitbucket to find stale branches and unused Bitbucket repos ? we are using Bitbucket cloud
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.