diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-agile-analytics.spec | 297 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 299 insertions, 0 deletions
@@ -0,0 +1 @@ +/agile-analytics-0.15.2.tar.gz diff --git a/python-agile-analytics.spec b/python-agile-analytics.spec new file mode 100644 index 0000000..f7ab10a --- /dev/null +++ b/python-agile-analytics.spec @@ -0,0 +1,297 @@ +%global _empty_manifest_terminate_build 0 +Name: python-agile-analytics +Version: 0.15.2 +Release: 1 +Summary: Pulls data from agile systems and analyzes it. +License: MIT License +URL: https://github.com/cmheisel/agile-analytics +Source0: https://mirrors.aliyun.com/pypi/web/packages/90/41/6e0bcd3bae9f0680bed97247754364ba23525d9165b41b288142deb7ff0a/agile-analytics-0.15.2.tar.gz +BuildArch: noarch + + +%description +# jira-agile-extractor + +[](https://travis-ci.org/cmheisel/agile-analytics) +[](https://coveralls.io/github/cmheisel/agile-analytics?branch=master) +[](http://waffle.io/cmheisel/agile-analytics) + +Extract data about items from JIRA, output raw data and interesting reports + +## Architecture + +The agile extractor is composed of several different components. Fetchers gather data, which is fed to one or more analyzer/reporters/writer combos. + +### Components + +#### Fetchers + +Fetchers are responsible for getting raw data about tickets from agile data sources (JIRA, Trello, etc.) + +They depend on fetcher specific configuration including things like API end points, credentials and search criteria. + +They produce a set of AgileTicket objects with a known interface. + +#### Analyzers + +Analyzers take in a set of AgileTicket objects and an analysis configuration and return a set of AnalyzedTicket objects that contain the original AgileTicket as well as additional data calculated in light of the analysis context. + +For example, a CycleTime analyzer would look for a start_state and an end_state in the configuration, and calculate the days between those and store it as cycle_time on the AnalyzedTicket object. + +#### Reporters + +Reporters take in a set of AnalyzedTicket objects and a report configuration and return a Report object. It has two standard attributes: +* Table - A representation of the report as a 2 dimensional table, provides column headers, row labels, and values for each row/column combo +* Summary - A key/value store of report specific data + +#### Writers + +Writers take in a Report and a WriterConfig can write it out a particular source. Examples: +* CSV to standout +* CSV to a file +* Google spreadsheet +* Plotly + +### Diagram + +``` + +-----------> Reporter: Distribution + | title=Cycle Time Distribution + | start_date=1/1/2015 + | end_date=3/31/2015 + | field=cycle_time + | + +-----------> Reporter: Throughput + | title=Weekly Throughput + | start_date=1/1/2015 + | end_date=3/31/2015 + | period=weekly + | + | + | + +-----------------> Analyzer: Cycle Time + + | start_state=Backlog + | end_state=Deployed + | issue_types=Story + | +Fetcher | +-----------> Reporter: Throughput + source=JIRA +----------------> Analyzer: Defect + title=Escaped Defects + filter=1111 | defect_types=Bug,Incident start_date=1/1/2015 + auth=user,pass | end_date=3/31/2015 + | + | + +----------------> Analyzer: Cycle Time +-----------> Reporter: Throughput + start_state=Analysis title=Weekly Analysis Throughput + end_state=Dev start_date=1/1/2015 + end_date=3/31/2015 + period=weekly +``` + +%package -n python3-agile-analytics +Summary: Pulls data from agile systems and analyzes it. +Provides: python-agile-analytics +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-agile-analytics +# jira-agile-extractor + +[](https://travis-ci.org/cmheisel/agile-analytics) +[](https://coveralls.io/github/cmheisel/agile-analytics?branch=master) +[](http://waffle.io/cmheisel/agile-analytics) + +Extract data about items from JIRA, output raw data and interesting reports + +## Architecture + +The agile extractor is composed of several different components. Fetchers gather data, which is fed to one or more analyzer/reporters/writer combos. + +### Components + +#### Fetchers + +Fetchers are responsible for getting raw data about tickets from agile data sources (JIRA, Trello, etc.) + +They depend on fetcher specific configuration including things like API end points, credentials and search criteria. + +They produce a set of AgileTicket objects with a known interface. + +#### Analyzers + +Analyzers take in a set of AgileTicket objects and an analysis configuration and return a set of AnalyzedTicket objects that contain the original AgileTicket as well as additional data calculated in light of the analysis context. + +For example, a CycleTime analyzer would look for a start_state and an end_state in the configuration, and calculate the days between those and store it as cycle_time on the AnalyzedTicket object. + +#### Reporters + +Reporters take in a set of AnalyzedTicket objects and a report configuration and return a Report object. It has two standard attributes: +* Table - A representation of the report as a 2 dimensional table, provides column headers, row labels, and values for each row/column combo +* Summary - A key/value store of report specific data + +#### Writers + +Writers take in a Report and a WriterConfig can write it out a particular source. Examples: +* CSV to standout +* CSV to a file +* Google spreadsheet +* Plotly + +### Diagram + +``` + +-----------> Reporter: Distribution + | title=Cycle Time Distribution + | start_date=1/1/2015 + | end_date=3/31/2015 + | field=cycle_time + | + +-----------> Reporter: Throughput + | title=Weekly Throughput + | start_date=1/1/2015 + | end_date=3/31/2015 + | period=weekly + | + | + | + +-----------------> Analyzer: Cycle Time + + | start_state=Backlog + | end_state=Deployed + | issue_types=Story + | +Fetcher | +-----------> Reporter: Throughput + source=JIRA +----------------> Analyzer: Defect + title=Escaped Defects + filter=1111 | defect_types=Bug,Incident start_date=1/1/2015 + auth=user,pass | end_date=3/31/2015 + | + | + +----------------> Analyzer: Cycle Time +-----------> Reporter: Throughput + start_state=Analysis title=Weekly Analysis Throughput + end_state=Dev start_date=1/1/2015 + end_date=3/31/2015 + period=weekly +``` + +%package help +Summary: Development documents and examples for agile-analytics +Provides: python3-agile-analytics-doc +%description help +# jira-agile-extractor + +[](https://travis-ci.org/cmheisel/agile-analytics) +[](https://coveralls.io/github/cmheisel/agile-analytics?branch=master) +[](http://waffle.io/cmheisel/agile-analytics) + +Extract data about items from JIRA, output raw data and interesting reports + +## Architecture + +The agile extractor is composed of several different components. Fetchers gather data, which is fed to one or more analyzer/reporters/writer combos. + +### Components + +#### Fetchers + +Fetchers are responsible for getting raw data about tickets from agile data sources (JIRA, Trello, etc.) + +They depend on fetcher specific configuration including things like API end points, credentials and search criteria. + +They produce a set of AgileTicket objects with a known interface. + +#### Analyzers + +Analyzers take in a set of AgileTicket objects and an analysis configuration and return a set of AnalyzedTicket objects that contain the original AgileTicket as well as additional data calculated in light of the analysis context. + +For example, a CycleTime analyzer would look for a start_state and an end_state in the configuration, and calculate the days between those and store it as cycle_time on the AnalyzedTicket object. + +#### Reporters + +Reporters take in a set of AnalyzedTicket objects and a report configuration and return a Report object. It has two standard attributes: +* Table - A representation of the report as a 2 dimensional table, provides column headers, row labels, and values for each row/column combo +* Summary - A key/value store of report specific data + +#### Writers + +Writers take in a Report and a WriterConfig can write it out a particular source. Examples: +* CSV to standout +* CSV to a file +* Google spreadsheet +* Plotly + +### Diagram + +``` + +-----------> Reporter: Distribution + | title=Cycle Time Distribution + | start_date=1/1/2015 + | end_date=3/31/2015 + | field=cycle_time + | + +-----------> Reporter: Throughput + | title=Weekly Throughput + | start_date=1/1/2015 + | end_date=3/31/2015 + | period=weekly + | + | + | + +-----------------> Analyzer: Cycle Time + + | start_state=Backlog + | end_state=Deployed + | issue_types=Story + | +Fetcher | +-----------> Reporter: Throughput + source=JIRA +----------------> Analyzer: Defect + title=Escaped Defects + filter=1111 | defect_types=Bug,Incident start_date=1/1/2015 + auth=user,pass | end_date=3/31/2015 + | + | + +----------------> Analyzer: Cycle Time +-----------> Reporter: Throughput + start_state=Analysis title=Weekly Analysis Throughput + end_state=Dev start_date=1/1/2015 + end_date=3/31/2015 + period=weekly +``` + +%prep +%autosetup -n agile-analytics-0.15.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-agile-analytics -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.15.2-1 +- Package Spec generated @@ -0,0 +1 @@ +8be6479a6f16829030d79365face0ccb agile-analytics-0.15.2.tar.gz |