You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* New feature to avoid revision check
Use new directive
.check revision false
this should help in scenario like #128 and #125
* Documentation migrated to aggregator-docs repo
Copy file name to clipboardExpand all lines: README.md
+17-58Lines changed: 17 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,11 @@ The Web Service flavour will be discontinued in favour of this new tool for two
9
9
- deployment and configuration of Web Service was too complex for most users;
10
10
- both the Plugin and the Service rely heavily on TFS Object Model which is [deprecated](https://docs.microsoft.com/en-us/azure/devops/integrate/concepts/wit-client-om-deprecation).
11
11
12
-
The main scenario for Aggregator (3.x) is supporting Azure DevOps and cloud scenario. In the future, we will work to support the on-premise scenario to permit replacement of the Server Plugin.
12
+
The main scenario for Aggregator (3.x) is supporting Azure DevOps and cloud scenario. In the future, we might work to support the on-premise scenario to permit replacement of the Server Plugin.
13
13
14
-
> **This is an early version (beta)**: we might change verbs and rule language before the final release!
15
-
*Note*: The documentation is limited to this page and the content of the `doc` folder.
14
+
> *Note*: This README is a synopsis of the documentation available at <https://tfsaggregator.github.io/docs/v3/>.
16
15
16
+
You might also find useful Richard Fennell's post [Getting started with Aggregator CLI for Azure DevOps Work Item Roll-up](https://blogs.blackmarble.co.uk/rfennell/2020/06/12/getting-started-with-aggregator-cli-for-azure-devops-work-item-roll-up/).
17
17
18
18
19
19
## Major features
@@ -23,62 +23,44 @@ The main scenario for Aggregator (3.x) is supporting Azure DevOps and cloud scen
23
23
- Rule object model similar to Aggregator v2
24
24
25
25
26
-
27
-
## Planned features (post v1.0)
26
+
### Planned features (post v1.0)
28
27
29
28
- Support for Deployment Slots for blue/green-style deployments
30
29
- OAuth support to avoid maintain access tokens
31
30
- Additional Azure DevOps events and objects (e.g. Git)
32
31
33
32
34
-
35
33
## How it works
36
34
37
35
As the name implies, this is a command line tool: you download the latest CLI.zip from GitHub [releases](https://github.com/tfsaggregator/aggregator-cli/releases) and unzip on your client machine.
38
-
Read more below at the Usage section.
39
-
40
-
Through the CLI you create one or more Aggregator **Instance** in Azure.
41
-
An Aggregator Instance is an Azure Function Application in its own Resource Group,
42
-
sharing the same Azure DevOps credential and version of Aggregator **Runtime**.
43
-
If the Resource Group does not exists, Aggregator will try to create it.
44
-
*Note*: The name you pick for the Instance must be **unique** amongst all
45
-
Aggregator Instances in Azure!
46
-
If you specify the Resource Group, you can have more than one Instance in the Resource Group.
36
+
Read more below in the [Usage](#usage) section.
47
37
48
-
After creating the Instance, you upload the code of Aggregator **Rules**.
38
+
Through the CLI you create one or more Azure Functions in your Subscription. The Functions use the Aggregator**Runtime** to run your**Rules**.
49
39
A Rule is code that reacts to one or more Azure DevOps event.
50
-
Each Aggregator Rule becomes an Azure Function in the Aggregator instance i.e. the Azure Function Application.
51
-
The Rule language is C# (hopefully more in the future) and uses Aggregator Runtime and [Azure Functions Runtime](https://docs.microsoft.com/en-us/azure/azure-functions/functions-versions) 3.0
52
-
to do its work.
40
+
The Rule language is only C#, currently.
53
41
When you create an Instance, a Rule or update them, CLI checks GitHub Releases
54
-
to ensure that Aggregator Runtime is up-to-date or match the specified version.
42
+
to ensure that Aggregator Runtime is up-to-date. You can specify a different Runtime version or point to a specific Runtime package, e.g. on a network share.
55
43
56
44
An Aggregator **Mapping** is an Azure DevOps Service Hook triggered by a specific event. Currently we support only Work Item events.
57
45
When triggered the Azure DevOps Service Hook invokes a single Aggregator Rule i.e. the Azure Function hosting the Rule code. Azure DevOps saves the Azure Function Key in the Service Hook configuration.
58
46
59
47
You can deploy the same Rule in different Instances, map the same Azure DevOps event to many Rules or map multiple events to the same Rule: it is up to you choosing the best way to organize.
60
48
61
49
62
-
63
50
## Authentication
64
51
65
52
You must instruct Aggregator which credential to use.
66
53
To do this, run the `login.azure` and `login.ado` commands.
67
54
68
-
To create the credentials, you need an Azure Service Principal and a Azure DevOps Personal Access Token.
69
-
70
-
These documents will guide you in creating the credentials
71
-
*[Use portal to create an Azure Active Directory application and service principal that can access resources](https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group-create-service-principal-portal)
72
-
*[Create personal access tokens to authenticate access](https://docs.microsoft.com/en-us/azure/devops/organizations/accounts/use-personal-access-tokens-to-authenticate).
55
+
To create the credentials, you need an Azure Service Principal and a Azure DevOps Personal Access Token. Full details in the [Setup](https://tfsaggregator.github.io/docs/v3/setup/) section.
73
56
74
57
Aggregator stores the logon credentials locally and expires them after 2 hours.
75
58
76
59
The PAT is also stored in the Azure Function settings: **whoever has access to the Resource Group can read it!**
77
60
78
61
The Service Principal must have Contributor permission to the Azure Subscription or, in alternative, pre-create the Resource Group in Azure and give the service account Contributor permission to the Resource Group.
79
-

80
-
If you go this route, remember add the `--resourceGroup` to all commands requiring an instance, otherwise the `instance` parameter adds an `aggregator-` prefix to find the Resource Group.
81
-
62
+

63
+
If you go this route, remember add the `--resourceGroup` to all commands requiring an instance.
82
64
83
65
84
66
## Usage
@@ -87,46 +69,23 @@ Download and unzip the latest CLI.zip file from [Releases](https://github.com/tf
87
69
It requires [.Net Core 3.1](https://dotnet.microsoft.com/download/dotnet-core/3.1) installed on the machine.
88
70
To run Aggregator run `aggregator-cli.exe` (Windows), `aggregator-cli` (Linux) or `dotnet aggregator-cli.dll` followed by a verb and its options.
logon.azure | Logon into Azure. This must be done before other verbs.
95
-
logon.ado | Logon into Azure DevOps. This must be done before other verbs.
96
-
install.instance | Creates a new Aggregator instance in Azure.
97
-
add.rule | Add a rule to existing Aggregator instance in Azure.
98
-
map.rule | Maps an Aggregator Rule to existing Azure DevOps Projects, DevOps events are sent to the rule.
99
-
list.instances | Lists Aggregator instances in the specified Azure Region or Resource Group or in the entire Subscription.
100
-
list.rules | List the rules in an existing Aggregator instance in Azure.
101
-
list.mappings | Lists mappings from existing Azure DevOps Projects to Aggregator Rules.
102
-
invoke.rule | Executes a rule locally or in an existing Aggregator instance.
103
-
configure.instance | Configures an existing Aggregator instance (currently the Azure DevOps authentication).
104
-
configure.rule | Change a rule configuration (currently only enabling/disabling).
105
-
update.rule | Update the code of a rule and/or its runtime.
106
-
unmap.rule | Unmaps an Aggregator Rule from a Azure DevOps Project.
107
-
remove.rule | Remove a rule from existing Aggregator instance in Azure, removing any mapping to the Rule.
108
-
uninstall.instance | Destroy an Aggregator instance in Azure, removing any mapping to the Rules.
109
-
help | Display more information on a specific command.
110
-
version | Display version information.
111
-
112
-
You can see a few Command examples in [Sample Aggregator CLI usage](doc/command-examples.md).
113
-
72
+
See [Commands](https://tfsaggregator.github.io/docs/v3/commands/) for further details on verbs and options.
114
73
115
74
116
75
## Rule language
117
76
118
-
See [Rule Language](doc/rule-language.md) for a list of objects and properties to use.
119
-
For examples see [Rule Examples](doc/rule-examples-basic.md).
120
-
77
+
See [Rule Language](https://tfsaggregator.github.io/docs/v3/rules/) for a list of objects and properties to use.
78
+
For examples see [Rule Examples](https://tfsaggregator.github.io/docs/v3/rules/rule-examples-basic/).
121
79
122
80
123
81
## Maintenance
124
82
125
83
Aggregator stores the PAT in the Azure Function configuration. Before the PAT expire you should refresh it from Azure DevOps or save a new PAT using the `configure.instance` command.
126
84
127
-
Read [Production Configuration and Administration](doc/production.md) for recommendations on running Aggregator in production.
85
+
Read [Production Configuration and Administration](https://tfsaggregator.github.io/docs/v3/setup/production/) for recommendations on running Aggregator in production.
128
86
129
87
130
-
## Troubleshooting
88
+
## Contributing
131
89
132
90
Use the Application Insight instance that was created aside the Azure Function.
91
+
Details on building your own version and testing are in the [Contribute](https://tfsaggregator.github.io/docs/v3/contrib/) section.
0 commit comments