The Zurich release has arrived! Interested in new features and functionalities? Click here for more

Knowledge Article movement

ramesham
Tera Contributor

HI,

I want to move All the articles which are there in one knowledge base to another another knowledge base without any impact on the knowledge articles.

Please help me with the fix script for this.

1 REPLY 1

Community Alums
Not applicable

Hi @ramesham ,

This is an example and should be modified to support other migration scenarios. 

  1. Navigate to Knowledge >Administration > Knowledge Bases.
  2. Click on a knowledge base Title to open a knowledge base.
  3. Right click the header bar and select Copy sys_id. 
  4. Copy and paste the sys_id to a text file.
  5. Navigate to Knowledge >Administration > Knowledge Bases.
  6. Click on a knowledge base Title to open a knowledge base.
  7. Open an article that already has the desired category in the target knowledge base. 
  8. Click the information icon next to the Category field.
  9. Right click the header bar and choose Copy sys_id
  10. Copy and paste the sys_id into a notepad.
  11. Navigate to System Definition > Scripts – Background.
  12. Paste the following script into Run script (JavaScript executed on server) textbox:
    • Replace TARGET_KB_SYS_ID with the sys_id copied in step 4
    • Replace TARGET_KB_CATEGORY with the sys_id copied in step 10   
 
var TARGET_KB_SYS_ID = 'a7e8a78bff0221009b20ffffffffff17';
var TARGET_KB_CATEGORY = '4008ed12ff0131009b20ffffffffffef';
var KB_ARTICLES_TO_MOVE = [
  "KB0000009", //sample KB numbers
    "KB0000006"
];

for (var i = 0; i < KB_ARTICLES_TO_MOVE.length; i++) {
    moveKBArticle(KB_ARTICLES_TO_MOVE[i]);
}

function moveKBArticle(kbNumber) {
    var kb = new GlideRecord('kb_knowledge');
kb.autoSysFields(false);
    kb.setWorkflow(false);
    kb.addQuery('number', kbNumber);
    kb.query();
    if (kb.next()) {
        kb.kb_knowledge_base = TARGET_KB_SYS_ID;
        kb.kb_category = TARGET_KB_CATEGORY;
        kb.update();
      gs.info('Moved ' + kbNumber + ' to Knowledge Base ' + TARGET_KB_SYS_ID);
    } else {
      gs.info('Did not find ' + kbNumber);
    }
}

SandeepDutta_0-1695706826220.png