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
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/push-kv-devops-pipeline.md
+31-22Lines changed: 31 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,13 +35,17 @@ This section will cover how to use the Azure App Configuration Push task in an A
35
35
36
36
1. Navigate to the build pipeline page by clicking **Pipelines** > **Pipelines**. Documentation for build pipelines can be found [here](/azure/devops/pipelines/create-first-pipeline?tabs=tfs-2018-2).
37
37
- If you're creating a new build pipeline, on the last step of the process, on the **Review** tab, select **Show assistant** on the right side of the pipeline.
38
-

38
+
> [!div class="mx-imgBorder"]
39
+
> 
39
40
- If you're using an existing build pipeline, click the **Edit** button at the top-right.
40
-

41
+
> [!div class="mx-imgBorder"]
42
+
> 
41
43
1. Search for the **Azure App Configuration Push** Task.
42
-

44
+
> [!div class="mx-imgBorder"]
45
+
> 
43
46
1. Configure the necessary parameters for the task to push the key-values from the configuration file to the App Configuration store. Explanations of the parameters are available in the **Parameters** section below, and in tooltips next to each parameter.
44
-

47
+
> [!div class="mx-imgBorder"]
48
+
> 
45
49
1. Save and queue a build. The build log will display any failures that occurred during the execution of the task.
46
50
47
51
## Use in releases
@@ -52,9 +56,11 @@ This section will cover how to use the Azure App Configuration Push task in an A
52
56
1. Choose an existing release pipeline. If you don’t have one, select **+ New** to create a new one.
53
57
1. Select the **Edit** button in the top-right corner to edit the release pipeline.
54
58
1. From the **Tasks** dropdown, choose the **Stage** to which you want to add the task. More information about stages can be found [here](/azure/devops/pipelines/release/environments).
55
-

59
+
> [!div class="mx-imgBorder"]
60
+
> 
56
61
1. Click **+** next to the Job to which you want to add a new task.
57
-

62
+
> [!div class="mx-imgBorder"]
63
+
> 
58
64
1. In the **Add tasks** dialog, type **Azure App Configuration Push** into the search box and select it.
59
65
1. Configure the necessary parameters within the task to push your key-values from your configuration file to your App Configuration store. Explanations of the parameters are available in the **Parameters** section below, and in tooltips next to each parameter.
60
66
1. Save and queue a release. The release log will display any failures encountered during the execution of the task.
@@ -64,25 +70,28 @@ This section will cover how to use the Azure App Configuration Push task in an A
64
70
The following parameters are used by the App Configuration Push task:
65
71
66
72
-**Azure subscription**: A drop-down containing your available Azure service connections. To update and refresh your list of available Azure service connections, press the **Refresh Azure subscription** button to the right of the textbox.
67
-
-**App Configuration Name**: A drop-down that loads your available configuration stores under the selected subscription. To update and refresh your list of available configuration stores, press the **Refresh App Configuration Name** button to the right of the textbox.
68
-
-**Configuration File Path**: The path to your configuration file. The **Configuration File Path** parameter begins at the root of the file repository. You can browse through your build artifact to select a configuration file. (`...` button to the right of the textbox). The supported file formats are: yaml, json, properties. The following is an example configuration file in json format.
69
-
```json
70
-
{
71
-
"TestApp:Settings:BackgroundColor":"#FFF",
72
-
"TestApp:Settings:FontColor":"#000",
73
-
"TestApp:Settings:FontSize":"24",
74
-
"TestApp:Settings:Message": "Message data"
75
-
}
76
-
```
73
+
-**App Configuration Endpoint**: A drop-down that loads your available configuration stores endpoint under the selected subscription. To update and refresh your list of available configuration stores endpoint, press the **Refresh App Configuration Endpoint** button to the right of the textbox.
74
+
-**Configuration File Path**: The path to your configuration file. The **Configuration File Path** parameter begins at the root of the file repository. You can browse through your build artifact to select a configuration file. (`...` button to the right of the textbox). The supported file formats depend on the file content profile. For the default profile the supported file formats are yaml, json and properties. For KvSet profile the supported file format is json.
75
+
-**File Content Profile**: The Configuration File's [content profile](./concept-config-file.md). Default value is **Default**.
76
+
-**Default**: Refers to the conventional configuration file formats that are directly consumable by applications.
77
+
-**Kvset**: Refers to a [file schema](https://aka.ms/latest-kvset-schema) that contains all properties of an App Configuration key-value, including key, value, label, content type, and tags. The task parameters 'Separator', 'Label', 'Content type', 'Prefix', 'Tags', and 'Depth' are not applicable when using the Kvset profile.
78
+
-**Import Mode**: The default value is **All**. Determines the behavior when importing key-values.
79
+
-**All**: Imports all key-values in the configuration file to App Configuration.
80
+
-**Ignore-Match**: Imports only settings that have no matching key-value in App Configuration. Matching key-values are considered to be key-values with the same key, label, value, content type and tags.
81
+
-**Dry Run**: Default value is **Unchecked**.
82
+
-**Checked**: No updates will be performed to App Configuration. Instead any updates that would have been performed in a normal run will be printed to the console for review.
83
+
-**Unchecked**: Performs any updates to App Configuration and does not print to the console.
77
84
-**Separator**: The separator that's used to flatten .json and .yml files.
78
85
-**Depth**: The depth that the .json and .yml files will be flattened to.
79
86
-**Prefix**: A string that's appended to the beginning of each key pushed to the App Configuration store.
80
87
-**Label**: A string that's added to each key-value as the label within the App Configuration store.
81
88
-**Content Type**: A string that's added to each key-value as the content type within the App Configuration store.
82
89
-**Tags**: A JSON object in the format of `{"tag1":"val1", "tag2":"val2"}`, which defines tags that are added to each key-value pushed to your App Configuration store.
83
-
- **Delete all other Key-Values in store with the specified prefix and label**: Default value is **Unchecked**.
84
-
- **Checked**: Removes all key-values in the App Configuration store that match both the specified prefix and label before pushing new key-values from the configuration file.
85
-
- **Unchecked**: Pushes all key-values from the configuration file into the App Configuration store and leaves everything else in the App Configuration store intact.
90
+
-**Delete key-values that are not included in the configuration file**: Default value is **Unchecked**. The behavior of this option depends on the configuration file content profile.
91
+
-**Checked**:
92
+
-**Default content profile**: Removes all key-values in the App Configuration store that match both the specified prefix and label before pushing new key-values from the configuration file.
93
+
-**Kvset content profile**: Removes all key-values in the App Configuration store that are not included in the configuration file before pushing new key-values from the configuration file.
94
+
-**Unchecked**: Pushes all key-values from the configuration file into the App Configuration store and leaves everything else in the App Configuration store intact.
86
95
87
96
88
97
@@ -96,10 +105,10 @@ If an unexpected error occurs, debug logs can be enabled by setting the pipeline
96
105
97
106
Create multiple instances of the Azure App Configuration Push task within the same pipeline to push multiple configuration files to the App Configuration store.
98
107
99
-
**How can I create Key Vault references using this task?**
108
+
**How can I create Key Vault references or feature flags using this task?**
100
109
101
-
To create Key Vault references, set the "Content Type" parameter to *application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8*. If not all key-values in a configuration file are Key Vault references, put Key Vault references and normal key-values in separate configuration files, and push them separately.
110
+
Depending on the file content profile you selected, please refer to examples in the [Azure App Configuration support for configuration file](./concept-config-file.md).
102
111
103
112
**Why am I receiving a 409 error when attempting to push key-values to my configuration store?**
104
113
105
-
A 409 Conflict error message will occur if the task tries to remove or overwrite a key-value that is locked in the App Configuration store.
114
+
A 409 Conflict error message will occur if the task tries to remove or overwrite a key-value that is locked in the App Configuration store.
0 commit comments