Git: Delete local branches that no longer exist on origin
Fetch the latest updates from the remote
git fetch --prune
List branches that have been deleted on the remote but still exist locally
git branch -vv | grep ': gone' | awk '{print $1}'
Delete the local branches that no longer exist on the remote
git branch -vv | grep ': gone' | awk '{print $1}' | xargs git branch -D
Filebeat httpjson
Filebeat httpjson example config for Proofpoint Isolation API
filebeat.inputs:
- type: httpjson
interval: "1h"
request.url: https://proofpointisolation.com/api/v2/reporting/useage-data/
request.method: GET
request.transforms:
- set:
target: url.params.to
value: '[[formatDate (now)]]'
- set:
target: url.params.from
value: '[[ formatDate (now (parseDuration "-1h")) ]]'
- set:
target: url.params.key
value: 'your_api_key'
- set:
target: url.params.pageSize
value: '100'
response.split:
target: body.data
type: array
keep_parent: false
response.pagination:
- set:
target: url.value
value: '[[ .last_response.url.value]]'
- set:
target: url.params.jobId
value: '[[.last_response.body.jobId]]'
fail_on_template_error: true
- set:
target: url.params.pageToken
value: '[[.last_response.body.pageToken]]'
fail_on_template_error: true
processors:
- decode_json_fields:
fields: ["message"]
target: "json"
output.console:
pretty: true
Script Processor: Lowercase ArrayList of MapHashes
Lowercase keys of MapHash in a ArrayList
if(ctx.field_name != null){
ArrayList lower_array = new ArrayList();
for (item in ctx.field_name){
ArrayList temp = new ArrayList();
for(map_entry in item.entrySet()){
temp.add([map_entry.getKey().toLowerCase():map_entry.getValue()])
}
lower_array.add(temp);
}
ctx.field_name = lower_array;
}
Get List Items
function Get-ListItems{
param(
[srtring]$sharepointSite,
[srtring]$listTitle,
[srtring]$selectedFields
)
$itemArry =@()
$pageSize = 5000
$pageId = 0
$header = @{'Accept' = 'application/json; odata=verbose'}
if ($selectedFields.Length -gt 0){
$selectStatement = "&`$SELECT=$($selectedFields)"
}
while ($pageId){
$uri = "$($sharepointSite)/_api/Web/Lists/GetByTitle('$($listTitle)')/Items?`$skiptoken=Paged=True%26p_ID=$($pageId)&`$top=$($pageSize)$($selectStatement)"
#Get list Get-ListItems
$response = Invoke-RestMethod -Method Get -Uri $uri -Headers $header -UseDefaultCredentials:$true
$data = $response.ToString().Replace("""ID""","_ID") | ConvertFrom-Json
if($data.d.results.Count -gt 0){
#Add to the Array
$itemsArray += $data.d.results
#Get last id in the results set for next starting sharepointSite
$pageId = $data.d.results[-1].id
}
else{
$pageId =-1
}
}
return $itemArry
}
Start Powershell
powershell.exe -nop -exec bypass