Sembra che questo non è possibile utilizzando solo WIQL, ma è possibile ottenere vicino.
La parola chiave @Today
ti darà la data di oggi, quindi sottrai il tuo intervallo da esso. La parola chiave EVER
applicata a [Status]='AssignedTo'
e un confronto con una data di 30 giorni nel passato a [StateChangeDate] è ciò che è necessario per ottenere ciò.
Così vicino come si può ottenere con WIQL e campi esistenti:
Questo dice, da tutte le revisioni (cambiamenti di stato) record di ritorno in cui l'utente 'X' è mai stato AssignedTo e lo Stato ha cambiato nell'ultimo 30 giorni. Questo ti darà una visione un po 'confusa di ciò su cui il tuo Utente ha lavorato nell'ultimo mese.
WHERE [Microsoft.VSTS.Common.StateChangeDate] >= @today - 30
AND [System.AssignedTo] EVER 'Bennett Aaron'
ORDER BY [System.State]
Aggiungere il campo mancante:
Si potrebbe aggiungere un campo personalizzato chiamato AssignedDate che viene catturata durante il Nuovo-> AssignedTo transizione del flusso di lavoro che si crea nel elemento di lavoro definizione XML. È possibile eseguire ciò utilizzando l'estensione Power Tools di Team Foundation Server in Visual Studio. Questo ti darebbe esattamente ciò di cui hai bisogno e le opzioni di reporting aggiuntive in futuro.
TFS API
non posso aiutare con questo, ma credo che si potrebbe interrogare utilizzando l'API TFS.
Un paio di trucchi veloci che abbia mai sperimentato per risparmiare tempo sul ASOF e sempre:
AsOf
non vi aiuterà da sola con questo come non supporta un intervallo di date. Ti permette di interrogare come se fosse un'altra data. In altre parole, se ieri ti sei dimenticato di acquisire i risultati di una query, puoi utilizzare una query AsOf per ottenere i risultati che avresti ottenuto se fossero stati eseguiti ieri. Quello che capisco è che vuoi interrogare un intervallo di date di base.
EVER
potrebbe non funzionare come ci si aspetta rispetto alle date, poiché credo che utilizzi il valore esatto del campo (la porzione di data/ora del campo data sarebbe inclusa) con cui verifica. Assicurati solo che la parola chiave EVER venga utilizzata rispetto al campo dello stato anziché a una data.
fonte
2011-03-03 16:58:55
Grazie mille. Speravo che sarebbe stato possibile interrogare la storia in qualche modo. Un campo extra è troppo, sarebbe solo una caratteristica "bella da avere" per il mio programma. Forse potrebbe essere possibile utilizzare qualcosa di simile, ma suppongo che sia solo un eccesso eccessivo :) '(([Assegnato a]! = 'X') asof '<30daysago>') AND (([Assigned To]! = ' X ') asof' <29daysago> ') ... ' –
Mi dispiace, sono andato a pranzo prima che potessi aggiornare questo! Ho appena aggiunto la tua risposta. Stavo facendo qualche test contro la clausola EVER che potrebbe funzionare per te. Non ho molti dati da testare, quindi mi piacerebbe sapere quali sono i criteri che ho restituito per te –
Nessun problema! Sfortunatamente ottengo tutti i WorkItem che sono stati modificati negli ultimi 30 giorni e che mi sono stati assegnati. Così ho provato altre 2 query che non verranno nemmeno analizzate ... Non posso usare NOT e EVER in combinazione, non posso usare ASOF per un singolo satement e non posso usare [System.ChangedDate] nella clausola where prima WHERE ([ Assigned To] = 'X') AND [System.ChangedDate]> = @ Today-2 AND NOT ([Assegnato a] EVER 'X') "' e secondo 'WHERE ([Assigned To] = 'X') AND [ System.ChangedDate]> = @ Today-2 AND ([Assigned To]! = 'X' ASOF [System.ChangedDate]) ' Sembra che non sia possibile farlo con WIQL –