decaporg / decaporg/decap-cms

Author-login empty on commit messages for Azure backend

Open
#7,199 0 comments 0 reactions 0 assignees View on GitHub
area: extensions/backends/azure type: bug
Dominant language
JavaScript
Stars
19.4k
Forks
3.1k
Avg merge
1d 14h
Merged PRs (30d)
9

Description

**Describe the bug**
I've set up commit messages templates according to [the documentation](https://decapcms.org/docs/configuration-options/?#commit-message-templates) (see CMS config-file). I expected to see the users login email or username when using `{{author-login}}`, but the value just returns empty. The users are logged in to the same organization as the repository is in. I can see errors in the console log related to decap's calls to fetch Azure users.

```
backend:
name: azure
repo: [redacted]
tenant_id: [redacted]
app_id: [redacted]
branch: main # Branch to update (optional; defaults to master)
commit_messages:
create: Create {{collection}} “{{slug}}” by "{{author-login}}"
update: Update {{collection}} “{{slug}}” by "{{author-login}}"
delete: Delete {{collection}} “{{slug}}” by "{{author-login}}"
uploadMedia: Upload “{{path}}” by "{{author-login}}"
deleteMedia: Delete “{{path}}” by "{{author-login}}"
```

**To Reproduce**
1. Go to the config.yml file for Decap
2. Set commit message templates which includes the {{author-login}} variable
3. Commit and build (so the templates will be used)
4. Create a new post from the Decap CMS UI
5. See commit message

**Expected behavior**
The commit messages should include the author's username or email, as well as the collection and slug for the new item created.

**Actual behavior**
Only the collection and slug for the item created is included in the commit message, not the author details.

**Screenshots**
image

**Applicable Versions:**
- Decap CMS version: `decap-cms-app -> 3.1.4` and `decap-cms-core ->
- Git provider: [e.g. GitHub, BitBucket]
- OS: [e.g. Windows 7]
- Browser version [e.g. chrome 22, safari 11]

- Node.JS version:

**CMS configuration**
```
backend:
name: azure
repo: [redacted]
tenant_id: [redacted]
app_id: [redacted]
branch: main # Branch to update (optional; defaults to master)
commit_messages:
create: Create {{collection}} “{{slug}}” by "{{author-login}}"
update: Update {{collection}} “{{slug}}” by "{{author-login}}"
delete: Delete {{collection}} “{{slug}}” by "{{author-login}}"
uploadMedia: Upload “{{path}}” by "{{author-login}}"
deleteMedia: Delete “{{path}}” by "{{author-login}}"

media_folder: static/img
public_folder: /img
publish_mode: editorial_workflow
site_url: [redacted]
# display_url: https://your-site.com
logo_url: [redacted]

local_backend: true

# i18n:
# # Required and can be one of multiple_folders, multiple_files or single_file
# # multiple_folders - persists files in `//.`
# # multiple_files - persists files in `/..`
# # single_file - persists a single file in `/.`
# structure: multiple_files

# # Required - a list of locales to show in the editor UI
# locales: [en, se]

# # Optional, defaults to the first item in locales.
# # The locale to be used for fields validation and as a baseline for the entry.
# default_locale: en

collections:
- name: "esm"
label: [redacted]
description: >
[redacted]
folder: "content/esm"
create: true
# i18n: true
slug: "{{title}}"
path: "{{title}}/index"
sortable_fields: ["date", "commit_date", "title", "commit_author", "order"]
meta:
{
path:
{
widget: string,
label: "Path",
index_file: "index",
default: "{{dirname}}",
hint: "Example: Setting path to [redacted] will result in the url [redacted]",
},
}
nested:
depth: 3
summary: "{{title}}"
summary: "{{order}} - {{title}}"
fields:
- {
label: "Page Template",
name: "templateKey",
widget: "select",
options: ["item-page", "chapter-page", "title-page"],
default: ["item-page"],
# i18n: duplicate,
}
- {
label: "Sort Order",
name: "order",
widget: "number",
value_type: int,
default: 0,
min: -99,
max: 99,
hint: "Any number between -99 and 99. A higher number will put the article higher in the navigational structure.",
#i18n: duplicate
}
- {
label: "Title",
name: "title",
widget: "string", # i18n: true
}
- {
label: "Publish Date",
name: "date",
widget: "datetime",
# i18n: duplicate,
}
- {
label: "Description",
name: "description",
widget: "text",
required: false,
# i18n: true,
}
- {
label: "Featured",
name: "featured",
widget: "boolean",
required: false,
# i18n: duplicate
}
- {
label: "Body",
name: "body",
widget: "markdown",
# i18n: true
}
- {
label: "Tags",
name: "tags",
widget: "list",
# i18n: true
}
- name: "ecc"
label: "[redacted]"
description: >
[redacted]
folder: "content/ecc"
create: true
# i18n: true
slug: "{{title}}"
path: "{{title}}/index"
sortable_fields: ["date", "commit_date", "title", "commit_author", "order"]
meta:
{
path:
{
widget: string,
label: "Path",
index_file: "index",
default: "{{dirname}}",
hint: "Example: Setting path to security-services will result in the url [redacted]",
},
}
nested:
depth: 3
summary: "{{title}}"
summary: "{{order}} - {{title}}"
fields:
- {
label: "Page Template",
name: "templateKey",
widget: "select",
options: ["item-page", "chapter-page", "title-page"],
default: ["item-page"],
# i18n: duplicate,
}
- {
label: "Sort Order",
name: "order",
widget: "number",
value_type: int,
default: 0,
min: -99,
max: 99,
hint: "Any number between -99 and 99. A higher number will put the article higher in the navigational structure.",
#i18n: duplicate
}
- {
label: "Title",
name: "title",
widget: "string", # i18n: true
}
- {
label: "Publish Date",
name: "date",
widget: "datetime",
# i18n: duplicate,
}
- {
label: "Description",
name: "description",
widget: "text",
required: false,
# i18n: true,
}
- {
label: "Featured",
name: "featured",
widget: "boolean",
required: false,
# i18n: duplicate
}
- {
label: "Body",
name: "body",
widget: "markdown",
# i18n: true
}
- {
label: "Tags",
name: "tags",
widget: "list",
# i18n: true
}
- name: "release-notes" # Used in routes, ie.: /admin/collections/:slug/edit
label: "Release Notes" # Used in the UI
folder: "content/release-notes"
create: true # Allow users to create new documents in this collection
# i18n: true # Enables multiple language editor. Needs to be set on each field affected
slug: "{{title}}"
path: "{{title}}/index"
sortable_fields: ["date", "commit_date", "title", "commit_author"]
meta:
{
path:
{
widget: string,
label: "Path",
index_file: "index",
default: "{{path}}",
hint: "Example: Setting path to v4/release-4-25-0 will result in the url [redacted]",
},
}
nested:
depth: 3
summary: "{{title}}"
summary: "{{title}}"
fields: # The fields each document in this collection have
- {
label: "Page Template",
name: "templateKey",
widget: "select",
options:
["release-note", "rolling-chapter-page", "rolling-title-page"],
default: ["release-note"],
# i18n: duplicate,
}
- {
label: "Title",
name: "title",
widget: "string",
tagname: "h1",
# i18n: true,
}
- {
label: "Publish Date",
name: "date",
widget: "datetime",
# i18n: duplicate,
}
- {
label: "Body",
name: "body",
widget: "markdown", # i18n: true
}
- name: "faq" # Used in routes, ie.: /admin/collections/:slug/edit
label: "FAQ" # Used in the UI
folder: "content/faq"
create: true # Allow users to create new documents in this collection
# i18n: true # Enables multiple language editor. Needs to be set on each field affected
fields: # The fields each document in this collection have
- {
label: "Page Template",
name: "templateKey",
widget: "hidden",
default: "faq", # Template does not exist yet
# i18n: true,
}
- {
label: "Question",
name: "title",
widget: "string",
tagname: "h1",
# i18n: true,
}
- {
label: "Answer",
name: "body",
widget: "markdown",
# i18n: true
}
- name: "news" # Used in routes, ie.: /admin/collections/:slug/edit
label: "News" # Used in the UI
folder: "content/news"
create: true # Allow users to create new documents in this collection
# i18n: true # Enables multiple language editor. Needs to be set on each field affected
slug: "{{title}}"
path: "{{title}}/index"
sortable_fields: ["date", "commit_date", "title", "commit_author"]
meta:
{
path:
{
widget: string,
label: "Path",
index_file: "index",
default: "{{fields.title}}",
hint: "Example: Setting path to ecc-launch will result in the url [redacted]",
},
}
nested:
depth: 2
summary: "{{title}}"
summary: "{{title}}"
fields: # The fields each document in this collection have
- {
label: "Page Template",
name: "templateKey",
widget: "select",
options: ["news-page", "title-page"],
default: ["news-page"],
# i18n: duplicate,
}
- {
label: "Title",
name: "title",
widget: "string",
tagname: "h1",
# i18n: true,
}
- {
label: "Publish Date",
name: "date",
widget: "datetime",
# i18n: duplicate,
}
- {
label: "Featured",
name: "featured",
widget: "boolean",
required: false,
# i18n: duplicate
}
- {
label: "Body",
name: "body",
widget: "markdown", # i18n: true
}
- {
label: "Tags",
name: "tags",
widget: "list",
# i18n: true
}
- name: "pages" # Used in routes, ie.: /admin/collections/:slug/edit
label: "Top-Level Pages" # Used in the UI
label_singular: "Top-Level Page"
folder: "content"
slug: "{{title}}"
path: "{{title}}/index"
create: true # Allow users to create new documents in this collection
# i18n: true # Enables multiple language editor. Needs to be set on each field affected
meta:
{
path:
{
widget: string,
label: "Filename",
index_file: "index",
default: "{{path}}",
hint: "Example: Setting path to release-notes will result in the url [redacted]",
},
}
fields: # The fields each document in this collection have
- {
label: "Page Template",
name: "templateKey",
widget: "select",
options:
[
{ label: "general", value: "general" },
{ label: "collection-title-page", value: "title-page" },
{ label: "rolling-title-page", value: "rolling-title-page" },
],
default: ["general"],
# i18n: duplicate,
}
- {
label: "Title",
name: "title",
widget: "string",
tagname: "h1",
# i18n: true,
}
- {
label: "Body",
name: "body",
widget: "markdown",
# i18n: true
}

```

**Additional context**
I'm getting the following errors in the console log that are probably related:

image
image

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.