Skip to content

Instantly share code, notes, and snippets.

@niedzielski
Last active June 23, 2020 14:16
Show Gist options
  • Save niedzielski/4db1be50cef360ef0b2a50de2d1422b1 to your computer and use it in GitHub Desktop.
Save niedzielski/4db1be50cef360ef0b2a50de2d1422b1 to your computer and use it in GitHub Desktop.
Assemble Scrum of Scrums Notes
curl \
-sG \
-d o=TRACKING_IDS \
--data-urlencode q='(owner:niedzielski OR owner:sniedzielski OR owner:pmiazga OR owner:jdrewniak OR owner:jdlrobson OR owner:nray OR owner:phuedx OR owner:volkere) -age:1week -is:wip -message:wip' \
https://gerrit.wikimedia.org/r/changes/|
node -e '
JSON.parse(require("fs").readFileSync(0).toString("utf-8").substring(5))
.reduce((sum, val) => ([...sum, ...val.tracking_ids]), [])
.filter(({system}) => system === "Phab")
.map(({id}) => id)
.filter((val, i, arr) => arr.indexOf(val) === i)
.map(id => id.replace(/^T/, ""))
.forEach((id, i) => process.stdout.write(`constraints[ids][${i}]=${id}&`))
'|
curl -sd api.token="$API_TOKEN" -d attachments[projects]=true -d @- https://phabricator.wikimedia.org/api/maniphest.search|
node -e '
JSON.parse(require("fs").readFileSync(0).toString("utf-8")).result.data
.forEach(task => process.stdout.write(`${task.attachments.projects.projectPHIDs} [[phab:T${task.id}|<nowiki>${task.fields.name}</nowiki>]]\n`))
'
# todo: use project.search to get actual project names.
# old stuff
#ssh \
# gerrit.wikimedia.org \
# -p 29418 \
# gerrit query --format=json -- \
# '(project:mediawiki/extensions/MobileFrontend OR project:mediawiki/extensions/PageImages OR project:mediawiki/extensions/Popups OR project:mediawiki/extensions/QuickSurveys OR project:mediawiki/extensions/RelatedArticles OR project:mediawiki/extensions/TextExtracts OR project:mediawiki/extensions/WikidataPageBanner OR project:mediawiki/skins/MinervaNeue OR project:mediawiki/skins/Vector) -age:1week (owner:niedzielski OR owner:jdlrobson OR owner:jdrewniak OR owner:nray OR owner:pmiazga) -is:wip -message:wip limit:10000'|
#node -e '
# require("fs").readFileSync(0).toString("utf-8").split("\n")
# .map(json => json && JSON.parse(json).commitMessage)
# .map(msg => msg && msg.split("\n"))
# .reduce((sum, val) => sum.concat(val), [])
# .filter(line => /^Bug: T/.test(line))
# .map(line => line.replace(/^Bug: T/, ""))
# .filter((val, i, arr) => arr.indexOf(val) === i)
# .forEach((id, i) => process.stdout.write(`constraints[ids][${i}]=${id}&`))
#'|
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment