<commit_before># Concourse CI Teams Resource

Sends messages to [Microsoft Teams](https://teams.microsoft.com) from within Concourse CI
pipelines.

Implements the Microsoft Teams [Connector](https://dev.outlook.com/Connectors/Reference) protocols and
the Concourse CI [resource](https://concourse.ci/implementing-resources.html) protocols.

Resolves at runtime Concourse CI environment variables referenced in your Teams
connector messages such as:

```
$BUILD_ID
$BUILD_NAME
$BUILD_JOB_NAME
$BUILD_PIPELINE_NAME
$BUILD_TEAM_NAME
$ATC_EXTERNAL_URL
```

## STATUS

* Alpha Quality
* Works - meets my specific needs

## TODO

* Make `potentialAction` button/link optional

## QUICK SETUP

1. Create a connector in the Teams UI - go to the hamburger menu of the channel you want to post
notifications to.
![connector](images/connector.png)
2. Select "Incoming Webhook" and safe the resulting link after being prompted for details like the icon and name
of the connector.
![webhook](images/webhook.png)
3. Use the webhook url from above in your pipeline `source` definition.  The example below creates an `alert` resource.

## PIPELINE EXAMPLE

![pipeline](images/pipeline.png)

### Source Configuration
<commit_msg>scale<commit_after># Concourse CI Teams Resource

Sends messages to [Microsoft Teams](https://teams.microsoft.com) from within Concourse CI
pipelines.

Implements the Microsoft Teams [Connector](https://dev.outlook.com/Connectors/Reference) protocols and
the Concourse CI [resource](https://concourse.ci/implementing-resources.html) protocols.

Resolves at runtime Concourse CI environment variables referenced in your Teams
connector messages such as:

```
$BUILD_ID
$BUILD_NAME
$BUILD_JOB_NAME
$BUILD_PIPELINE_NAME
$BUILD_TEAM_NAME
$ATC_EXTERNAL_URL
```

## STATUS

* Alpha Quality
* Works - meets my specific needs

## TODO

* Make `potentialAction` button/link optional

## SETUP

1. Create a connector in the Teams UI - go to the hamburger menu of the channel you want to post
notifications to.
![connector](images/connector.png)
2. Select "Incoming Webhook" and safe the resulting link after being prompted for details like the icon and name
of the connector.
![webhook](images/webhook.png)
3. Use the webhook url from above in your pipeline `source` definition.  The example below creates an `alert` resource.

## PIPELINE EXAMPLE

![pipeline](images/pipeline.png)

### Source Configuration

{'fraction_non_alphanumeric': 0.08547717842323652, 'fraction_numerical': 0.0024896265560165973, 'mean_word_length': 5.246113989637306, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3121356', 'n_tokens_mistral': 724, 'n_tokens_neox': 690, 'n_words': 265}